• Node.js Video Tutorials

Node.js - Buffer.subarray() 方法



NodeJS 的 Buffer.subarray() 方法根据原始缓冲区上给定的起始和结束偏移量值返回一个新的缓冲区。新缓冲区与原始缓冲区具有相同的内存。

语法

以下是 Node.JS Buffer.subarray() 方法 的语法 -

buf.subarray([start[,end]])

参数

此方法接受两个参数,但都是可选的。下面解释了相同的内容。

  • start - (可选) 新缓冲区将开始的起始索引。默认值为 0。

  • end - (可选) 新缓冲区将结束的结束索引。默认值为 buffer.length。

返回值

方法 buffer.subarray() 从原始缓冲区创建一个新的缓冲区。

示例

要创建缓冲区,我们将使用 Buffer.from() 方法 -

const buffer = Buffer.from('Hello');
console.log(buffer);
console.log(buffer.subarray(1,4));

输出

<Buffer 48 65 6c 6c 6f>
<Buffer 65 6c 6c>

示例

要创建缓冲区,我们将使用 Buffer.alloc() 方法 -

const buffer = Buffer.alloc(10);
console.log(buffer);
const newBuffer = buffer.subarray(1,4);
newBuffer.fill('a');
console.log(newBuffer);

输出

使用 buffer.subarray() 从长度为 10 的原始缓冲区创建了一个新的缓冲区。新缓冲区填充了字符“a”。输出如下所示。

<Buffer 00 00 00 00 00 00 00 00 00 00>
<Buffer 61 61 61>

示例

要创建缓冲区,我们将使用 Buffer.from() 方法 -

但将对起始和结束使用负索引。对起始使用负值表示索引将从缓冲区的末尾开始,结束也是如此。

const buffer = Buffer.from('Tutorialspoint');
console.log("The original buffer is: " + buffer);
subarray_buf = buffer.subarray(-5, -1);
console.log("The new buffer is:" + subarray_buf);
console.log(newBuffer);

输出

The original buffer is: Tutorialspoint
The new buffer is:poin
nodejs_buffer_module.htm
广告