Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Buffer.from创建缓冲区视图_Javascript_Node.js - Fatal编程技术网

Javascript 如何使用Buffer.from创建缓冲区视图

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

我想创建缓冲区一部分的视图,在签入node.js后,我找到了方法buffer.fromarrayBuffer[,byteOffset[,length]]应该完全按照我的要求执行。我从一个简单的案例开始,但它已经产生了意想不到的结果,所以我肯定做错了什么

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字符串的类型;