- Buffer对象是Node处理二进制数据(eg:TCP数据流)的一个接口。
- Buffer是Node原生提供的全局对象,可以直接使用;不需要require(‘buffer’)。
- Buffer对象是一个构造函数,生成的实例代表了V8引擎分配的一段内存,是一个类似数组的对象,成员都为0到255的整数值,即一个8位的字节。
- Buffer类的实例(即对象)类似于整数数组,实例对应于固定大小的原始内存分配,其大小在创建时被确定且无法更改。
eg1:生成Buffer对象实例,以及它的赋值和取值。
// 生成一个256字节的Buffer实例
var bytes = new Buffer(256);
// 遍历每个字节,写入内容
for(let i=0;i<bytes.length;i++){
bytes[i] = i;
};
console.log(bytes);
// <Buffer 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 ... 206 more bytes>
var end = bytes.slice(240,256);//切片
console.log(end[0]); //240;
end[0] = 0;
console.log(end[0]); //0;
eg2:拷贝生成Buffer实例(copy方法将bytes实例的4号成员到7号成员的这一段,都拷贝到了more实例从0号成员开始的区域)
var bytes = new Buffer(8);
for(let i=0;i<bytes.length;i++){
bytes[i] =