您的位置:首页 > Web前端 > Node.js

nodejs学习-Buffer

2020-08-24 19:06 1236 查看

Buffer

Node.js 可以用来处理二进制流数据或者与之进行交互

Buffer 用于读取或操作二进制数据流,做为 Node.js API 的一部分使用时无需 require,用于操作网络协议、数据库、图片和文件 I/O 等一些需要大量二进制数据的场景。

Buffer基本使用

详细的API 使用可参考 Node.js 中文网

创建Buffer

在 6.0.0 之前的 Node.js 版本中, Buffer 实例是使用 Buffer 构造函数创建的,即

new Buffer()

现在可以通过 Buffer.from()、Buffer.alloc() 与 Buffer.allocUnsafe() 三种方式来创建
【注】Buffer.from()从字符串或者数组创建一个buffer, Buffer.alloc()是创建一个指定大小的buffer。

Buffer.from()把数据放入一个buffer

const buffer1=Buffer.from('100');
console.log(buffer1);
//<Buffer 31 30 30>

// 从一个数组创建一个buffer
const buffer2 = Buffer.from([100]);
console.log(buffer2);
// 输出结果<Buffer 64>

const buffer3= Buffer.from('100', 'utf8');
console.log(buffer3);//<Buffer 31 30 30>

const buffer4 = Buffer.from(buffer3);
console.log(buffer4);//<Buffer 31 30 30>

Buffer.alloc()初始化缓冲区

//创建的缓冲区数据不会包含旧的数据
let buffer1=Buffer.alloc(20);
console.log(buffer1);
//<Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00>

//不会重置数据,不太安全
buffer2=Buffer.allocUnsafe(20)
console.log(buffer2)
//<Buffer 00 69 06 80 85 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00>

buffer1[0]=10;
console.log(buffer1)
//<Buffer 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: