Node.js 缓冲区对象上的Spread运算符

Node.js 缓冲区对象上的Spread运算符,node.js,Node.js,有人能解释一下这个代码是如何工作的吗 [...Buffer('abc')] 结果是: [ 97, 98, 99 ] 首先,考虑这段代码: console.log([...[1, 2, 3]]); //[1, 2, 3] Spread运算符将尝试获取一个数组并将其转换为参数列表 js的缓冲区对象实际上是字节数组,这是一种同时表示字符和处理二进制数据的方法。你可以在网站上阅读更多关于它的信息 现在,由于“abc”实际上是三个ascii字符,每个字符只占一个字节,这个字节将对应于它的ascii码

有人能解释一下这个代码是如何工作的吗

[...Buffer('abc')]
结果是:

[ 97, 98, 99 ]

首先,考虑这段代码:

console.log([...[1, 2, 3]]); //[1, 2, 3]
Spread运算符将尝试获取一个数组并将其转换为参数列表

js的缓冲区对象实际上是字节数组,这是一种同时表示字符和处理二进制数据的方法。你可以在网站上阅读更多关于它的信息

现在,由于“abc”实际上是三个ascii字符,每个字符只占一个字节,这个字节将对应于它的ascii码。 你可以这样做:
myString.charCodeAt(pos)
,在你的例子中
'abc'。charCodeAt(0)
将返回
97

所以

将实际返回一个数组,其中包含“abc”每个字符的ascii码。那就是
[97,98,99]

由于缓冲区的编码默认为UTF-8,所以在处理unicode时,事情会变得更加令人兴奋

console.log([...Buffer('漢字')]); //[230 188 162 229 173 151]

对不起潜在的错误,希望这有帮助。

< P>首先,请考虑这段代码:

console.log([...[1, 2, 3]]); //[1, 2, 3]
Spread运算符将尝试获取一个数组并将其转换为参数列表

js的缓冲区对象实际上是字节数组,这是一种同时表示字符和处理二进制数据的方法。你可以在网站上阅读更多关于它的信息

现在,由于“abc”实际上是三个ascii字符,每个字符只占一个字节,这个字节将对应于它的ascii码。 你可以这样做:
myString.charCodeAt(pos)
,在你的例子中
'abc'。charCodeAt(0)
将返回
97

所以

将实际返回一个数组,其中包含“abc”每个字符的ascii码。那就是
[97,98,99]

由于缓冲区的编码默认为UTF-8,所以在处理unicode时,事情会变得更加令人兴奋

console.log([...Buffer('漢字')]); //[230 188 162 229 173 151]
很抱歉可能会出现打字错误,希望这能有所帮助