Buffer 缓冲区
Buffer 的结构与数组类似,操作方法也与数组类似
数组不能存储二进制文件,Buffer 是专门存储二进制数据的
Buffer 存储的是二进制数据,显示时以 16 进制的形式显示
Buffer 每一个元素范围是 00~ff,即 0~255、00000000~11111111
每一个元素占用一个字节内存
Buffer 是对底层内存的直接操作,因此大小一旦确定就不能修改 Buffer 常用方法:
Buffer.from(str[, encoding])
:将一个字符串转换为 BufferBuffer.alloc(size)
:创建指定大小的 BufferBuffer.alloUnsafe(size)
:创建指定大小的 Buffer,可能包含敏感数据(分配内存时不会清除内存残留的数据)buf.toString()
:将 Buffer 数据转为字符串
js
var str = 'Hello前端'
var buf = Buffer.from(str)
// 占用内存的大小,一个汉字3字节 13
console.log(buf.length)
// 字符串的长度 7
console.log(str.length)
// 8进制输出第一个元素 145
console.log(buf[1].toString(8))
//创建一个10个字节的buffer
var buf2 = Buffer.alloc(10)
//通过索引,来操作buf中的元素
buf2[0] = 88
buf2[1] = 255
buf2[2] = 0xaa
buf2[3] = 255
var buf3 = Buffer.allocUnsafe(10)
console.log(buf3)