node学习笔记——Buffer缓冲器常用api

Buffer简介

在 Node.js 中, Buffer 对象用来处理二进制数据,在v8堆外分配物理内存, Buffer 类的实例类似于从 0 到 255 之间的整数数组,显示的数据为十六进制,大小是固定的,在创建时已经确定,无法修改。Buffer 类在全局作用域中,因此无需使用 require(‘buffer’).Buffer。

创建buffer

1.Buffer.alloc(size[, fill[, encoding]])

分配一个大小为10字节的新 Buffer。 如果 fill 为 undefined,则用零填充 Buffer。

const buf1 = Buffer.alloc(10);
console.log(buf1);

输出结果:

指定了size为整数2来填充Buffer:

const buf2 = Buffer.alloc(10,2);
console.log(buf2);

输出结果:

encoding指定编码方式:

const buf3 = Buffer.alloc(10,'xutian');
const buf4 = Buffer.alloc(10,'xutian','base64');
console.log(buf3);
console.log(buf4);

输出结果:


2.Buffer.allocUnsafe(size)
创建一个大小为 size 字节的新 Buffer。以这种方式创建的 Buffer 实例的底层内存是未初始化的。 新创建的 Buffer 的内容是未知的,可能包含敏感数据。这个方法比Buffer.alloc()更快,但是返回的Buffer实例可能包含旧数据,不安全。

const buf5 = Buffer.allocUnsafe(10);
console.log(buf5);

输出结果:

因此需要使用fill() 或 write()进行重写。

3.Buffer.from(array)

const buf6 = Buffer.from([1,2,3]);
const buf7 = Buffer.from('xutian');
const buf8 = Buffer.from('xutian','base64');
console.log(buf6);
console.log(buf7);
console.log(buf8);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值