Skip to content

缓冲区

缓冲区(Buffer)是一种用于处理二进制数据的类数组对象,它可以存储各种类型的数据,包括文本、图片、音频和视频等。Buffer 对象类似于数组,但是它不能被扩展或缩小,一旦分配了内存空间,就不能再改变其大小。

提示

需要注意的是,在 Node.js v6.0.0 版本之后,Buffer 对象的构造函数已经废弃,应该使用 Buffer.alloc()、Buffer.allocUnsafe() 或 Buffer.from() 方法来创建缓冲区。

常见用法

js
const buf = Buffer.alloc(10) // 创建一个长度为 10 的缓冲区
const buf = Buffer.from(string[, encoding]) // 根据指定的字符串和编码创建缓冲区
const buf = Buffer.from(array) // 将指定的数组创建为缓冲区。
const buf = Buffer.from(buffer) // 复制指定的缓冲区并创建一个新的缓冲区

buf.write('Hello') // 向缓冲区中写入数据
buf.write(' World', 5) // 指定位置开始写入
buf.toString() // 从缓冲区中读取数据并转换为字符串

buf.slice([start[, end]]) // 创建一个新的缓冲区,其中包含当前缓冲区的子集
buf.length // 缓冲区的长度,以字节为单位