📜  哪个模块用于 Node.js 中基于缓冲区的操作?

📅  最后修改于: 2022-05-13 01:56:17.426000             🧑  作者: Mango

哪个模块用于 Node.js 中基于缓冲区的操作?

用于基于缓冲区的操作的模块是缓冲区模块。

缓冲区模块:缓冲区模块提供了一种处理二进制数据流的方法。缓冲区旨在处理二进制原始数据。缓冲区在 V8 堆之外分配原始内存。 Buffer 对象是 Node.js 中的全局对象,使用 required 关键字导入并不重要。

句法:

const buf = Buffer.alloc(n);

这里,n 是缓冲区大小的整数。

示例 1:写入缓冲区。

在下面的示例中,我们使用 buf.write() 方法将数据写入节点缓冲区。

buf.write( string, offset, length, encoding )
  • 字符串:它指定要写入缓冲区的字符串数据。
  • offset:它指定缓冲区开始写入的索引。它的默认值为 0。
  • 长度:它指定要写入的字节数。它的默认值为 buffer.length。
  • encoding:指定编码机制。它的默认值为“utf-8”。
Javascript
const cbuf = Buffer.alloc(256);
bufferlen = cbuf.write("Let's do this 
    with GeeksForGeeks");
console.log("No. of Octets in which 
    string is written : "+  bufferlen);


Javascript
const rbuf = Buffer.alloc(26);
let j;
  
for (let i = 65, j = 0; i < 90, j < 26; i++, j++) {
    rbuf[j] = i;
}
  
console.log(rbuf.toString('utf-8', 3, 9));


输出:

上面的代码创建了一个缓冲区文件并给出了预期的输出。

示例 2:从 Node.js 缓冲区读取数据,指定读取的起点和终点。创建一个包含以下代码的 buffer.js 文件。

buf.toString() 方法接受以下参数:

句法:

buf.toString( encoding, start, end )
  • encoding:指定编码机制。它的默认值为“utf-8”。
  • start:指定开始读取的索引。它的默认值为 0。
  • end:指定结束读取的索引。它的默认值是一个完整的缓冲区。

Javascript

const rbuf = Buffer.alloc(26);
let j;
  
for (let i = 65, j = 0; i < 90, j < 26; i++, j++) {
    rbuf[j] = i;
}
  
console.log(rbuf.toString('utf-8', 3, 9));

上面的代码从我们指定的起点读取文件并在终端上打印输出