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 二進制數據處理至關重要。

閱讀全文