Skip to content
Have a clear structure

Buffer 缓冲区

Buffer 缓冲区文档

  • Buffer 的结构与数组类似,操作方法也与数组类似

  • 数组不能存储二进制文件,Buffer 是专门存储二进制数据的

  • Buffer 存储的是二进制数据,显示时以 16 进制的形式显示

  • Buffer 每一个元素范围是 00~ff,即 0~255、00000000~11111111

  • 每一个元素占用一个字节内存

  • Buffer 是对底层内存的直接操作,因此大小一旦确定就不能修改 Buffer 常用方法:

  • Buffer.from(str[, encoding]):将一个字符串转换为 Buffer

  • Buffer.alloc(size):创建指定大小的 Buffer

  • Buffer.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)