• Node.js Video Tutorials

Node.js - Buffer.fill() 方法



NodeJS buffer.fill() 方法用于使用给定值填充缓冲区。如果未指定缓冲区内的范围,则将填充整个缓冲区。

语法

以下是 NodeJS fill() 方法的语法:

buf.fill(value[, offset[, end]][, encoding])

参数

buffer.fill() 方法接受四个参数。第一个参数 value 是必需的,其余参数是可选的。

  • value - 这是必需的参数。它是您希望缓冲区填充的值。

  • offset - 这是一个可选字段。offset 指示从哪里开始填充值。默认值为 0。

  • end - 这是一个可选字段。end 指示缓冲区填充在哪里结束。默认值为缓冲区的长度。

  • encoding - 这是一个可选字段。如果提供的值是字符串,则需要考虑的编码。默认值为 utf8。

返回值

它返回一个缓冲区对象,该对象将填充给定的值。

示例

在下面的示例中,我们使用 NodeJS Buffer.alloc() 创建了一个缓冲区,并为其分配了 10 个字节。稍后使用 NodeJS buffer.fill() 将值 'ab' 填充到 10 个字节的内存空间中。

const buffer = Buffer.alloc(10);
buffer.fill('ab');
console.log("The final string from buffer is "+buffer.toString());

输出

以下是上述程序的输出:

The final string from buffer is ababababab

示例

在这个例子中,让我们使用 offset 和 end 参数部分填充缓冲区。

使用 Buffer.alloc() 分配的空间为 10 个字节。字符串 'ab' 用于填充从 5 到 10 的缓冲区。

const buffer = Buffer.alloc(10);
buffer.fill('ab', 5, 10);
console.log(buffer);
console.log("The final string from buffer is "+buffer.toString())

输出

<Buffer 00 00 00 00 00 61 62 61 62 61>
The final string from buffer is ababa

示例

在这个例子中,让我们用整数填充缓冲区,如下所示:

const buffer = Buffer.alloc(10);
console.log(buffer);
buffer.fill(1);
console.log(buffer);

输出

在填充缓冲区之前,当您在控制台中打印缓冲区时,您会看到全是零。稍后使用整数 1 填充缓冲区。输出如下:

<Buffer 00 00 00 00 00 00 00 00 00 00>
<Buffer 01 01 01 01 01 01 01 01 01 01>

示例

在这个例子中,我们将使用编码。只有当值是字符串时才能使用编码。

const buffer = Buffer.alloc(10);
console.log(buffer);
buffer.fill("aazz","hex");
console.log(buffer);

输出

上述示例中使用了十六进制编码。应用编码后的输出如上所示。

<Buffer 00 00 00 00 00 00 00 00 00 00>
<Buffer aa aa aa aa aa aa aa aa aa aa>

示例

您还可以使用一个缓冲区作为值来填充另一个缓冲区。

const buffer1 = Buffer.allocUnsafe(8);
buffer1.fill(Buffer.from('Hello'));
console.log("The string is "+buffer1.toString());

输出

在示例中,我们创建了一个名为 buffer1 的缓冲区,并为其分配了 8 个字节。另一个缓冲区使用 Buffer.from() 方法和字符串值“Hello”创建,并用作 buffer1 的值。

The string is HelloHel
nodejs_buffer_module.htm
广告