Node系列-03-Buffer对象的相关操作

161 阅读1分钟

1.buffer的介绍:

在引入TypeArray(类型化数组)之前,JavaScript 语言自身只有字符串数据类型,没有用于读取或操作二进制数据类型。

Node.js 提供了一个与 String 对等的全局构造函数 Buffer 来提供对二进制数据的操作

Buffer 类是作为 Node.js API的一部分引入的,用于在 TCP 流文件系统操作以及其他上下文中与八位字节流进行交互

这里就简单介绍测试下几个例子吧,可以转换base64utf8等,这个还是很神奇的。结果也在代码后的🌵打印出来了。

const buf1 = Buffer.alloc(10);
console.log("我是buf1",buf1);  
//🌵<Buffer 00 00 00 00 00 00 00 00 00 00>


// 通过数据创建 创建一个包含 UTF-8 字节
const buf2 = Buffer.from('hello world');
console.log("我是buf2",buf2);  
//🌵<Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>


// 创建一个包含 [0x1, 0x2, 0x3] 的 Buffer
const buf3 = Buffer.from([11,2,3]);
console.log("我是buf3",buf3);
//🌵<Buffer 0b 02 03>


// 往buffer对象中写入数据
buf1.write('hello buffer');
console.log("我是buf1写入hello buffer后---:",buf1); 
//🌵<Buffer 68 65 6c 6c 6f 20 62 75 66 66>


// 读取buffer中的数据
console.log("我是buf2调用toString('utf-8')后---:",buf2.toString('utf-8')); 
//🌵hello world


console.log("我是buf2调用toString('base64')后---:",buf2.toString('base64'));
//🌵aGVsbG8gd29ybGQ=


// 合并
const buf4 = Buffer.concat([buf1,buf2]);
console.log("我是bu4,concat方法合并了buf1和buf2",buf4.toString());
//🌵buffhello world