赞
踩
在 Node.js 中,缓冲区(Buffer)是用于处理二进制数据的类。尤其是处理像 TCP 流、文件 I/O 等数据流时非常有用,由于 JavaScript 原生不支持二进制数据操作,Buffer 类填补了这一空白,提供了高效且安全的内存管理机制。
Buffer 类是 Node.js 处理二进制数据的核心,它的高效特性和丰富的功能使其在处理 I/O 密集型任务时表现出色,是构建高性能服务器端应用的关键组件。
在进行字符串与 Buffer 之间转换时,确保使用正确的字符编码,以免数据丢失或错误。
可以通过多种方式创建 Buffer:
创建一个大小为 10 字节的 Buffer,内容初始化为 0
const buf = Buffer.alloc(10);
创建一个包含[1, 2, 3]
字节数据的 Buffer
const buf = Buffer.from([1, 2, 3]);
创建一个包含 hello
字符串的 Buffer,编码方式为 utf8
const buf = Buffer.from("hello", "utf8");
将 hello
字符串写入 Buffer
const buf = Buffer.alloc(10);
buf.write("hello", "utf8");
输出 hello
const buf = Buffer.from("hello", "utf8");
console.log(buf.toString("utf8"));
const buf1 = Buffer.from("hello");
const buf2 = Buffer.from("world");
const buf3 = Buffer.concat([buf1, buf2]);
console.log(buf3.toString());
const buf1 = Buffer.from("abc");
const buf2 = Buffer.from("def");
// 返回负数,因为'abc'在'def'之前
console.log(buf1.compare(buf2));
const buf1 = Buffer.from("hello");
const buf2 = Buffer.alloc(5);
buf1.copy(buf2);
// 输出:hello
console.log(buf2.toString());
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。