Buffer

buffer(缓冲器)

1.概念

Buffer是一个类似于数组的对象,用于表示固定长度的字节序列。其本质是一段内存空间,专门用来处理二进制数据。

2.特点

  • buffer长度固定并且无法调整。
  • buffer性能好,可以直接对计算机内存进行操作。
  • buffer中每个元素的大小为1字节。

3.创建

  • alloc
    buffer以字节为单位,每个字节是8个bit。
  let buf1 = Buffer.alloc(10)  //创建一个长度为10字节的buffer
  • allocUnsafe
    与alloc区别:alloc方法创建buffer时会对缓冲区域内的内容进行清零。
    allocUnsafe不会对内容进行清零,所以使用allocUnsafe创建内存空间时会含有该空间以前存储的数据。
let buf2 = Buffer.allocUnsafe(10)  //创建一个长度为10字节的buffer
  • from
    from方法可以将一个字符串或者数组转换为buffer。
  //通过字符串创建buffer
  let buf3=Buffer.from('hello');  
  console.log(buf3);    //  <Buffer 68 65 6c 6c 6f>

这里输出的数据是以十六进制的形式显示的。实际上缓冲器的存储原理是首先将字符串hello中的每个字符根据Unicode表中对应的十进制进行转换,再以二进制的形式存储在内存中,输出时转换为16进制。

  //通过数组创建buffer
  let buf_4=Buffer.from([111,222,333,444,555,666]);  
  console.log(buf_4)     //<Buffer 6f de 4d bc 2b 9a>

原理同上。

4.转换为字符串

使用toString()方法

  let buf_4=Buffer.from([105,108,111,118,101,121,111,117]);
  console.log(buf_4.toString())    //输出iloveyou

5.读取和写入

通过下标进行对内容的读写

let buf_4=Buffer.from([105,108,111,118,101,121,111,117]);
console.log(buf_4[2]);     //读取buffer里的第三个元素
buf_4[2]=110;   //更改元素值
console.log(buf_4[2]);   //110
console.log(buf_4.toString())   //ilnveyou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值