Buffer(缓冲区)
- Buffer的结构和数组很像,操作方法和数组也类似
- 数组中不能存储二进制文件,而Buffer就是专门用来存放二进制数据的
- 它的元素为16进制的两位数。一个元素就代表一个字节
- 所以Buffer中每一个元素的范围都是00-ff之间
- 00-ff转换成二进制就是00000000-11111111,这也是我们计算机最底层的
- 一个0或者1,我们称之为1位(bit),8bit = 1byte(字节)
- 在Buffer中存储的是二进制数据,但是显示的时候都是以16进制显示
- Buffer中内存不是通过JavaScript分配的,而是底层通过C++申请的,也就是我们可以直接通过Buffer来创建内存中的空间
let str = 'Hello World'
let bufStr = Buffer.from(str)
let newStr = bufStr.toString()
console.log(bufStr)
console.log(newStr)
创建指定大小的Buffer
- Buffer的大小,一旦创建好就能修改了
- 老的方法,Buffer构造函数的方式,不推荐使用,官方说即将废弃
let buf = new Buffer(10)
let buf = Buffer.alloc(10)
buf[0] = 66
buf[1] = 255
buf[2] = 0xaa
console.log(buf)
console.log(buff[2])
let buf = Buffer.allocUnsafe(10)
console.log(buf)