node.js Buffer(缓冲区)和concat方法

Buffer(缓冲区)

什么是Buffer

因为JavaScript语言自身只有字符串数据类型,没有二进制数据类型,但在处理TCP流或文件流的的时候必须使用二进制数据,所以Node.js中定义了Buffer类,该类用来创建一个专门存放二进制数据的缓存区;

1. Buffer实例与JavaScript字符串之间的互转

Buffer实例一般用在表示编码字符的序列

let buf = new Buffer('宝宝');
console.log(buf);//e5 ae 9d e5 ae 9d
let buf1 = new Buffer([0xe5, 0xae, 0x9d, 0xe5, 0xae, 0x9d]);//因为是16进制所以前边需要带上0x 否则报错  
//所以e5 ae 9d e5 ae 9d就可以转换成宝宝
console.log(buf1.toString());//宝宝
console.log(buf.length);//打印buffer占用的多少个字符空间  6

小结:
通过let buf = new Buffer('宝宝');打印显式的字符编码(e5 ae 9d e5 ae 9d),在通过let buf1 = new Buffer([0xe5, 0xae, 0x9d, 0xe5, 0xae, 0x9d])console.log(buf.toString())打印就可以实现Buffer实例与普通JavaScript字符串之间进行转换
字符串转buffer:new Buffer('hello');
buffer转字符串:buf.toString()

2. Buffer和对象互转

  • 对象转buffer
    let buf = new Buffer(JSON.stringify({ name: '宝宝' }))
  • buffer转字符串
    let str = buf.toString()
  • 字符串转对象
    JSON.parse(str)

3. concat(拼接)方法

let buf1 = new Buffer('宝宝');
let buf2 = new BUffer('baobao');
let buf3 = Buffer.concat([buf1,buf2]);
console.log(buf3.toSting());//宝宝baobao
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值