Javascript 如何使用Buffer.from创建缓冲区视图
我想创建缓冲区一部分的视图,在签入node.js后,我找到了方法buffer.fromarrayBuffer[,byteOffset[,length]]应该完全按照我的要求执行。我从一个简单的案例开始,但它已经产生了意想不到的结果,所以我肯定做错了什么Javascript 如何使用Buffer.from创建缓冲区视图,javascript,node.js,Javascript,Node.js,我想创建缓冲区一部分的视图,在签入node.js后,我找到了方法buffer.fromarrayBuffer[,byteOffset[,length]]应该完全按照我的要求执行。我从一个简单的案例开始,但它已经产生了意想不到的结果,所以我肯定做错了什么 var firstBuffer = Buffer.from('hello world'); var secondBuffer = Buffer.from(firstBuffer.buffer, 0, firstBuffer.length); a
var firstBuffer = Buffer.from('hello world');
var secondBuffer = Buffer.from(firstBuffer.buffer, 0, firstBuffer.length);
assert (firstBuffer.0 == secondBuffer.0) // fails
console.log (firstBuffer) // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
console.log (secondBuffer) // <Buffer da 07 00 00 da 07 00 00 db 07 00>
如何创建缓冲区视图?事实证明,buffer.fromstring的结果可以具有不同于0的偏移量属性 知道修改后的代码可以工作:
var firstBuffer = Buffer.from('hello world');
var secondBuffer = Buffer.from(firstBuffer.buffer, firstBuffer.offset, firstBuffer.length);
console.log (firstBuffer) // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
console.log (secondBuffer) // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
assert (firstBuffer[0] == secondBuffer[0]) // pass
但遗憾的是,在官方文档中没有关于此功能的信息您可能需要数组和数据视图。要添加更多上下文,您还应该在var firstBuffer=Buffer.from'hello world',ascii'中指定ascii字符串的类型;