Javascript - 在Unicode字符串和ArrayBuffer之间转换

Van*_*ing 4 javascript unicode encoding arraybuffer

有人知道一个脚本能够使用unicode编码将字符串转换为ArrayBuffer吗?

我正在创建node.js的"缓冲区"的浏览器端等效.剩下的唯一编码是unicode.所有其他人都完成了.

谢谢你的帮助!

Van*_*ing 7

我自己发现了它.

解码:

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;
}
Run Code Online (Sandbox Code Playgroud)

编码

var s = "";
for(var i = 0; i < this.length;){
    s += String.fromCharCode(this[i++]*256+this[i++]);
}
Run Code Online (Sandbox Code Playgroud)

  • `s + = String.fromCharCode(this [i ++]*256 + this [i ++]);`对于长字符串来说会很慢.在数组`arr`中收集charcodes并执行`String.fromCharCode.apply(arr)`. (4认同)
  • 哎呀,抱歉.`String.fromCharCode.apply(*null*,arr)` (3认同)