哪个模块用于 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));
上面的代码从我们指定的起点读取文件并在终端上打印输出