JavaScript 从“byte”源读取UTF16字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 从“byte”源读取UTF16字符串相关的知识,希望对你有一定的参考价值。
function readUTF16String(bytes, bigEndian) {
var ix = 0;
var offset1 = 1, offset2 = 0;
if( bytes.slice(0,2) == "\xFE\xFF") {
bigEndian = true;
ix = 2;
} else if( bytes.slice(0,2) == "\xFF\xFE") {
bigEndian = false;
ix = 2;
}
if( bigEndian ) {
offset1 = 0;
offset2 = 1;
}
var string = "";
for( ; ix < bytes.length; ix+=2 ) {
var byte1 = bytes[ix+offset1].charCodeAt(0);
var byte2 = bytes[ix+offset2].charCodeAt(0);
var word1 = (byte1<<8)+byte2;
if( byte1 < 0xD8 || byte1 >= 0xE0 ) {
string += String.fromCharCode(word1);
} else {
ix+=2;
var byte3 = bytes[ix+offset1].charCodeAt(0);
var byte4 = bytes[ix+offset2].charCodeAt(0);
var word2 = (byte3<<8)+byte4;
string += String.fromCharCode(word1, word2);
}
}
return string;
}
以上是关于JavaScript 从“byte”源读取UTF16字符串的主要内容,如果未能解决你的问题,请参考以下文章
file 从InputStream读取byte[]示例
Java从内存流中读取byte数组
如何从 HttpPostedFile InputStream 属性中读取正确的 Stream/byte[]?
如何读取图片文件,并且放在一个byte数组当中?
从 ByteBuffer 获取到 byte[] 不写入到 byte[]
JAVA:如何从 byte[] 创建 .PNG 图像?