如何将字符串转换为字节数组

2022-08-30 05:31:07

如何使用JavaScript在bytearray中转换字符串。输出应等效于以下 C# 代码。

UnicodeEncoding encoding = new UnicodeEncoding();
byte[] bytes = encoding.GetBytes(AnyString);

由于UnicodeEncoding默认为UTF-16,具有小字节序。

编辑:我要求使用上述C#代码将字节数组生成的客户端与在服务器端生成的客户端相匹配。


答案 1

如果您正在寻找在 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);

答案 2

更新2018 - 2018年最简单的方法应该是TextEncoder

let utf8Encode = new TextEncoder();
utf8Encode.encode("abc")
// Uint8Array [ 97, 98, 99 ]

注意事项 - 返回的元素是 一个 ,并非所有浏览器都支持它Uint8Array