How do I encode a JavaScript string in utf-16?
20,736
Solution 1
Do you want this?
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');
Taken from Google Developers
Solution 2
function strEncodeUTF16(str) {
var arr = []
for (var i = 0; i < str.length; i++) {
arr[i] = str.charCodeAt(i)
}
return arr
}
var arr = strEncodeUTF16('€13,56');
console.log(arr)
Author by
Claudiu
Graduated from Brown University. E-mail: [email protected]
Updated on December 23, 2020Comments
-
Claudiu over 3 years
In Python 3, I can do this:
>>> "€13,56".encode('utf-16') b'\xff\xfe\xac 1\x003\x00,\x005\x006\x00'
The input is a (unicode) string, while the output is a sequence of raw bytes of that string encoded in utf-16.
How can I do the same in JavaScript - go from a (unicode) string, to a sequence of raw bytes (perhaps as a
Uint8Array
?) of that string encoded in utf-16?