es6 -- Buffer

通过长度创建buffer:

let buffer = Buffer.alloc(100);
console.log(buffer)

得到: 100个
比较消耗性能:先将100字节清空再分配

let buffer = Buffer.allocUnsafe(100);
不清空,可能还有上一次的内容

数组转buffer

类似于array.from()

let buffer = Buffer.from([17,18,19,0x11]) //最大为255
console.log(buffer)

得到的结果为

字符串转buffer

let buffer = Buffer.from('我是一个兵');
console.log(buffer.length);
buffer.toString();

3*5 = 12bit

buffer的方法slice

let buffer = Buffer.from([1,2,3]);
let newBuffer = buffer.slice(0,1);
newBuffer[0] = 100;
console.log(buffer);

浅拷贝,将内存的地址引出
最终得到:

buffer的方法fill

buffer.fill(value, [offset], [end])
接收参数:
value 将要填充的数据
offet 填充数据的开始位置,不指定默认为 0
end 填充数据的结束位置,不指定默认为 buffer 的 长度。

//例子1中,不指定填充内容的起止位置,50字节全为h
var b = new Buffer(50);
b.fill("h");
 
//例子2中,指定了填充内容的起止位置,填充最后一个位置h
var b = new Buffer(50);
var len = b.length;
b.fill("h" , len-1 , len);

buffer 的copy方法

var buf1 = Buffer.from('谁是最帅的');
var buf2 = Buffer.from('我自己');
var buf = Buffer.allocUnsafe(24);
三个参数:目标buffer,起始点位置,终止点位置。
buf1.copy(buf,0);
buf2.copy(buf,15);

你可能感兴趣的:(nodejs)