Node.js缓冲区(Buffer):处理二进制数据入门

Node.js 中,处理二进制数据(如图像、网络传输数据等)时,Buffer 是核心工具,用于高效存储和操作字节流。它是固定长度的字节数组,每个元素为 0~255 的整数,不可动态扩容,是 I/O 操作的基石。 创建 Buffer 有三种方式:`Buffer.alloc(size)`(指定长度,初始化为 0)、`Buffer.from(array)`(数组转 Buffer)、`Buffer.from(string, encoding)`(字符串转 Buffer,需指定编码如 utf8)。 Buffer 可通过索引读写字节,通过 `length` 获取长度,通过 `buf.toString(encoding)` 转字符串,`Buffer.concat([buf1, buf2])` 拼接 Buffer。常用方法包括 `write()`(写入字符串)、`slice()`(截取部分)。 应用场景涵盖文件处理、网络通信、数据库 BLOB 操作。需注意编码一致性(如 utf8 与 base64 转换需匹配),避免溢出(超过 255 会截断),合理管理堆外内存(避免泄漏)。掌握 Buffer 对理解 Node.js 二进制数据处理至关重要。

阅读全文