缓冲器 Buffer
- 它是一个类似于数组的对象,用于存储数据(存储的是二进制数据,比如图片,视频等)
- Buffer 的效率很高,存储和读取很快,它是直接对计算机的内存进行操作
- Buffer 的大小一旦确定了,不可修改
- 每个元素占用内存的大小为 1 字节 (8 位 bit)
- Buffer 是 Node 中的非常核心的模块,无需下载、无需引入,直接即可使用
基础使用
Buffer 是一个类或者构造函数。
js
// 1. 创建一个 Buffer 实例 (不被推荐)
const buf1 = new Buffer(10);
console.log(buf); // <Buffer 00 00 00 00 00 00 00 00 00 00>
// 在堆内开辟空间,清理 (性能最差)
// 2. Buffer.alloc()
const buf2 = Buffer.alloc(10); // <Buffer 00 00 00 00 00 00 00 00 00 00>
// 在堆内开辟一块没用过的空间 (性能稍好)
// 3. Buffer.allocUnsafe()
const buf3 = Buffer.allocUnsafe(10); // <Buffer 12 00 34 00 00 00 00 23 00 00>
// 在堆内随机开辟一块空间,可能被用过 (性能最好)
将数据存入 Buffer 实例。
js
const buf = Buffer.from('hello, world');
console.log(buf); // <Buffer 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64> 存储为 16 进制
console.log(buf.toString());