Node.js 提供了一个内置的核心模块 buffer
,用于处理二进制数据。在前端开发中,我们也可以通过 npm 包 buffer
来使用这个模块。
安装
在项目目录下执行以下命令安装 buffer
:
--- ------- ------
创建 Buffer 实例
我们可以使用 Buffer.from()
方法创建一个 Buffer 实例,其参数可以是字符串、数组或 ArrayBuffer 等多种类型的数据。
----- ---- - ------------------ ------- -------- ------------------ -- ------- -- -- -- -- -- -- -- -- -- -- --- ----- ---- - ------------------ ----- ----- ----- ------- ------------------ -- ------- -- -- -- -- --- ----- ---- - --------------- ---------------- ------------------ -- ------- -- -- -- -- ---
Buffer 的常用方法
buf.toString([encoding[, start[, end]]])
将 Buffer 对象转换为字符串,默认使用 utf8 编码。
----- --- - ------------------ ------- -------- ---------------------------- -- ------ ------
buf.toJSON()
将 Buffer 对象转换为 JSON 对象。
----- --- - ------------------ ------- -------- -------------------------- -- - ----- --------- ----- - ---- ---- ---- ---- ---- --- ---- ---- ---- ---- --- - -
Buffer.isBuffer(obj)
判断一个对象是否为 Buffer 对象。
----- --- - ------------------ ------- -------- ---------------------------------- -- ---- ---------------------------------- --------- -- -----
示例代码
下面是一个使用 buffer
包处理图片的示例代码:
----- -- - -------------- ----- ------ - ------------------ ----- ---------- - --------------------------------- ----- ------ - --- --------------------- ------- -- - ------------------- --- -------------------- -- -- - ----- ---------- - ---------------------- ----- --------- - ------------------------------ -------------------------------------------------- ---
以上代码中,我们首先使用 Node.js 的内置模块 fs
创建一个读取文件流,并将每个数据块存入一个数组中。当读取流结束时,再将这些数据块拼接成一个完整的二进制数据并转换为 base64 编码的字符串,最后打印出一个包含图片数据的 data URI。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/50825