3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
在C#中運(yùn)行
UnicodeEncoding encoding = new UnicodeEncoding();
byte[] bytes = encoding.GetBytes("Hello");
將創(chuàng)建一個(gè)數(shù)組
72,0,101,0,108,0,108,0,111,0
字節(jié)數(shù)組
對(duì)于代碼大于255的字符,它將如下所示
字節(jié)數(shù)組
如果您想在JavaScript中實(shí)現(xiàn)非常相似的行為,則可以執(zhí)行此操作(v2是更強(qiáng)大的解決方案,而原始版本僅適用于0x00?0xff)
var str = "Hello竜";
var bytes = []; // char codes
var bytesv2 = []; // char codes
for (var i = 0; i < str.length; ++i) {
var code = str.charCodeAt(i);
bytes = bytes.concat([code]);
bytesv2 = bytesv2.concat([code & 0xff, code / 256 >>> 0]);
}
// 72, 101, 108, 108, 111, 31452
console.log('bytes', bytes.join(', '));
// 72, 0, 101, 0, 108, 0, 108, 0, 111, 0, 220, 122
console.log('bytesv2', bytesv2.join(', '));

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您正在尋找可以在node.js中使用的解決方案,則可以使用以下方法:
var myBuffer = [];
var str = 'Stack Overflow';
var buffer = new Buffer(str, 'utf16le');
for (var i = 0; i < buffer.length; i++) {
myBuffer.push(buffer[i]);
}
console.log(myBuffer);
添加回答
舉報(bào)