如何在 utf-16 中编码 JavaScript 字符串?

Cla*_*diu 6 javascript unicode encoding utf-16

在 Python 3 中,我可以这样做:

>>> "€13,56".encode('utf-16')
b'\xff\xfe\xac 1\x003\x00,\x005\x006\x00'
Run Code Online (Sandbox Code Playgroud)

输入是一个(unicode)字符串,而输出是该字符串以 utf-16 编码的原始字节序列。

我怎样才能在 JavaScript 中做同样的事情——从一个(unicode)字符串,到一个Uint8Array以 utf-16 编码的字符串的原始字节序列(也许是一个?)?

shi*_*lch 11

你想要这个吗?

function strEncodeUTF16(str) {
  var buf = new ArrayBuffer(str.length*2);
  var bufView = new Uint16Array(buf);
  for (var i=0, strLen=str.length; i < strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  return bufView;
}

var arr = strEncodeUTF16('€13,56');
Run Code Online (Sandbox Code Playgroud)

取自Google Developers