es6 -- Buffer

本文详细介绍了Node.js中Buffer对象的使用方法,包括通过长度创建Buffer、数组与字符串转换为Buffer,以及Buffer对象的常用方法如slice、fill和copy等。深入探讨了不同创建方式的性能差异及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过长度创建buffer:

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

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

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

数组转buffer

类似于array.from()

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

得到的结果为<buffer 11 12 13 11>

字符串转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 64 2 3>

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值