有没有人知道一个脚本,能够将字符串使用unicode编码转换为ArrayBuffer?
我正在创建一个浏览器端的node.js“缓冲区”等效物。唯一剩下的编码是unicode。其他所有编码都已完成。
感谢您的帮助!
有没有人知道一个脚本,能够将字符串使用unicode编码转换为ArrayBuffer?
我正在创建一个浏览器端的node.js“缓冲区”等效物。唯一剩下的编码是unicode。其他所有编码都已完成。
感谢您的帮助!
我自己找到了答案。
解码:
var b = new Uint8Array(str.length*2);
for(var i = 0; i < b.length; i+=2){
var x = str.charCodeAt(i/2);
var a = x%256;
x -= a;
x /= 256;
b[i] = x;
b[i+1] = a;
}
编码
var s = "";
for(var i = 0; i < this.length;){
s += String.fromCharCode(this[i++]*256+this[i++]);
}
s += String.fromCharCode(this[i++]*256+this[i++]);
会很慢。可以将字符编码收集到数组arr
中,然后使用String.fromCharCode.apply(arr)
来执行。 - kirilloidString.fromCharCode.apply(*null*, arr)
的意思是将数组 arr
中的 Unicode 编码转换为对应的字符,并以字符串形式返回。在这个表达式中,apply()
方法用于将数组作为参数传递给 String.fromCharCode()
方法。 - kirilloid