Buffers数据类型
介绍
Buffer对象是Node处理二进制数据(eg:TCP数据流)的一个接口。
Buffer对象是一个构造函数,生成的实例代表了V8引擎分配的一段内存,是一个类似数组的对象,
成员都为0到255的整数值,即一个8位的字节。
Buffer类的实例(即对象)类似于整数数组,实例对应于固定大小的原始内存分配,
其大小在创建时被确定且无法更改。
创建Buffer
1、利用字符串创建buffer:Buffer.from
const { Buffer } = require('node:buffer');
var str = "Hello world"
var buf = Buffer.from(str)
console.log(buf)
2、Buffer.alloc()
.alloc() 方法在您想要创建空缓冲区时很有用,不需要初始化数据填充。默认情况下,
它接受一个数字并返回一个给定大小并且填充了 0 的缓冲区。第二个参数:用于预填充新 Buffer 的值
const { Buffer } = require('node:buffer');
const buff = Buffer.alloc(1, 'abcd');
console.log(buff.toString('utf-8'));
写入Buffer
const { Buffer } = require('node:buffer');
const buff = Buffer.alloc(9);
buff.write("hey there");
console.log(buff.toString());
buff.write("hey christopher");
console.log(buff.toString());
buf.toJSON() 转换为 JSON 对象
const { Buffer } = require('node:buffer');
var buf3 = Buffer.from('test');
var json = JSON.stringify(buf3);
console.log(json);
Buffer.concat()合并,将所有 Buffer 实例连接在一起的结果
const { Buffer } = require('node:buffer');
var i1 = Buffer.from('Hello');
var i2 = Buffer.from(' ');
var i3 = Buffer.from('World');
console.log(Buffer.concat([i1, i2, i3], 10).toString());