Node.js(二)—— Buffer缓冲区

Buffer简介(全局变量,无需引入)

Buffer类被引入作为Node.js API的一部分,使其可以在TCP流或文件系统操作等场景中处理二进制数据流。可以将buffer理解为输送二进制数据流的缓存。

常用方法有:

  • Buffer.alloc(size,[filal],[encode])

  • Buffer.from([]/buffer/string): 创建一个buffer,包含参数字节

  • Buffer.isBuffer(obj):判断obj是否为一个buffer类型

  • Buffer.concat([buffer,buffer]):buffer合并

  • buffer.toString(encode):将buffer类型转换为字符串

Buffer.alloc(size,[filal],[encode]) 创建一个Buffer实例

  • 其中包含三个参数:size指创建的buffer长度,fial为填充的数组,encode为数组的编码,默认为utf-8,一般不填最后一个。
//创建一个长度为10的buffer
var buffer = Buffer.alloc(10);
//<Buffer 00 00 00 00 00 00 00 00 00 00>
//创建一个使用1来填充的buffer
var buffer1 = Buffer.alloc(10, 1);
console.log(buffer1);
//<Buffer 01 01 01 01 01 01 01 01 01 01>

Buffer.from([ ]/buffer/string):创建一个buffer,包含参数字节

通过给定的数组创建 Buffer 实例:

//创建一个buffer,包含参数字节
var buffer2 = Buffer.from([1, 2, 3, 4]);
console.log(buffer2);
//<Buffer 01 02 03 04>

通过一个字符串来创建Buffer实例:

var buffer = new Buffer("www.runoob.com", "utf-8");
//用下面程序可以替代上面的写法
var buffer= Buffer.from('www.runoob.com','utf-8')
  • 括号里可以是一个string类也可以是一个buffer类
//创建一个buffer,包含参数字节
var buffer2 = Buffer.from([1, 2, 3, 4]);
var buffer3 = Buffer.from(buffer2);
console.log(buffer3);
//<Buffer 01 02 03 04>

Buffer.isBuffer(obj):判断obj是否为一个buffer类型

var buffer = Buffer.alloc(10);
console.log(Buffer.isBuffer(buffer));//ture
console.log(Buffer.isBuffer({ name: '12' }));//false

buffer.toString(encode):将buffer类型转换为字符串

注:该方法是实例方法,可以直接在实例中调用
encode为字符编码,不填默认为utf-8

const buffer4 = Buffer.from('test');
console.log(buffer4.toString("base64"));
//dMOpc3Q=
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值