一、理论
Buffer 让 JavaScript 可以操作二进制
Buffer 是什么?在哪?做什么?
JavaScript 语言起初服务于浏览器平台
Nodejs 平台下 JavaScript 可实现IO
IO行为操作的就是二进制数据
Stream 流操作并非 Nodejs 独创
流操作配合管道实现数据分段传输
数据的端到端传输会有生产者和消费者
生产和消费的过程往往存在等待
产生等待时数据存放在哪?
Nodejs 中Buffer 是一片内存空间
总结
-
无须rquire 的一个全局变量
-
实现 Nodejs 平台下的二进制数据操作
-
不占据V8 堆内存大小的内存空间
-
内存的使用由 Node来控制,由V8的GC 回收
-
一般配合 Stream 流使用,充当数据缓冲区
创建Buffer
Buffer是 Nodejs 的内置类
const b1 = Buffer.alloc(10);
const b2 = Buffer.allocUnsafe(10);
console.log('b1', b1)
console.log('b2', b2)
const b3 = Buffer.from('hello');
const b4 = Buffer.from([1, 2, 3]);
const b5 = Buffer.from('hello', 'ascii');
const b6 = Buffer.from(b2, );