Nodejs教程
Nodejs Mysql
Nodejs MongoDB
Nodejs 对比

Node.js 缓冲区

Node.js缓冲区

Node.js提供Buffer类来存储类似于整数数组的原始数据,但对应于V8堆外部的原始内存分配。使用缓冲区类是因为纯JavaScript不适用于二进制数据。因此,在处理TCP流或文件系统时,必须处理八位位组流。
缓冲区类是全局类。可以在应用程序中访问它,而无需导入缓冲区模块。

Node.js创建缓冲区

有很多方法可以构造Node缓冲区。以下是三种最常用的方法:
创建未初始化的缓冲区: 以下是创建10个八位字节的未初始化缓冲区的语法:
var buf = new Buffer(10);
从数组创建缓冲区: 以下是从给定数组创建缓冲区的语法:
var buf = new Buffer([10, 20, 30, 40, 50]);
从字符串创建缓冲区: 以下是从给定字符串和可选编码类型创建缓冲区的语法:
var buf = new Buffer("Simply Easy Learning", "utf-8");

Node.js写入缓冲区

以下是写入Node缓冲区的方法:
语法:
buf.write(string[, offset][, length][, encoding])
参数说明:
string: 它指定要写入缓冲区的字符串数据。
offset:它指定开始写入的缓冲区的索引。默认值为0。
length: 它指定要写入的字节数。默认值为buffer.length
encoding: 要使用的编码。 utf8是默认编码。
从写入缓冲区返回值:
此方法用于返回写入的八位字节数。在缓冲区不足以容纳整个字符串的情况下,它将写入字符串的一部分。
让我们举个例子:
创建具有以下代码的名为" main.js"的JavaScript文件:
文件: main.js
buf = new Buffer(256);
len = buf.write("Simply Easy Learning");
console.log("Octets written : "+  len);
打开Node.js命令提示符并执行以下代码:
node main.js
输出:
Node.js缓冲区1

Node.js从缓冲区读取

以下是从Node缓冲区读取数据的方法。
语法:
buf.toString([encoding][, start][, end])
参数说明:
encoding: 它指定要使用的编码。 'utf8'是默认编码
start: 它指定开始读取的开始索引,默认为0。
end: 它指定要结束读取的结束索引,默认为完整的缓冲区。
返回从缓冲区读取的值:
此方法解码并从缓冲区返回一个字符串数据使用指定的字符集编码进行编码。
让我们举个例子:
文件: main.js
buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
  buf[i] = i + 97;
}
console.log( buf.toString('ascii'));       // outputs: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5));   // outputs: abcde
console.log( buf.toString('utf8',0,5));    // outputs: abcde
console.log( buf.toString(undefined,0,5)); // encoding defaults to 'utf8', outputs abcde
打开Node.js命令提示符并执行以下代码:
node main.js
输出:
Node.js缓冲区2
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4