Node.js Buffer 模块
实例
将字符串 "abc" 转换为二进制数据流:
var buf = Buffer.from('abc');console.log(buf);
定义与用法
buffers 模块提供了一种处理二进制数据流的方法。
Buffer 对象在 Node.js 是全局对象, 并且不需要使用 require 关键字导入它。
语法
用于创建长度为 15 的空缓冲区的语法:
var buf = Buffer.alloc(15);
Buffer 属性和方法
| 方法 | 描述 |
|---|---|
| alloc() | 创建指定长度的缓冲区对象 |
| allocUnsafe() | 创建指定长度的非零填充缓冲区 |
| allocUnsafeSlow | 创建指定长度的非零填充和非池式缓冲区 |
| byteLength() | 返回指定对象中的字节数 |
| compare() | 比较两个缓冲区对象 |
| concat() | 将缓冲区对象数组连接到一个缓冲区对象中 |
| copy() | 复制缓冲区对象的指定字节数 |
| entries() | 返回缓冲区对象的 "index" "byte" 成对的迭代器 |
| equals() | 比较两个缓冲区对象,如果匹配则返回 true,否则返回 false |
| fill() | 用指定的值填充缓冲区对象 |
| from() | 从对象(字符串/数组/缓冲区)创建缓冲区对象 |
| includes() | 检查缓冲区对象是否包含指定的值。如果存在匹配项,则返回 true,否则返回 false |
| indexOf() | 检查缓冲区对象是否包含指定的值。返回第一个匹配项,否则返回 -1 |
| isBuffer() | 检查对象是否为缓冲区对象 |
| isEncoding() | 检查缓冲区对象是否支持指定的编码 |
| keys() | 返回缓冲区对象中的键数组 |
| lastIndexOf() | 检查缓冲区对象是否包含指定的值。返回第一个匹配项,从结尾开始,否则返回 -1 |
| length | 返回缓冲区对象的长度(以字节为单位) |
| poolSize | 设置或返回用于池的字节数 |
| readDoubleBE() | 从缓冲区对象读取 64 位双精度,以 big-endian 格式返回结果 |
| readDoubleLE() | 从缓冲区对象读取 64 位双精度,以小尾数形式返回结果 |
| readFloatBE() | 从缓冲区对象读取 32 位浮点,以big-endian 格式返回结果 |
| readFloatLE() | 从缓冲区对象读取 32 位浮点值,以 little endian 格式返回结果 |
| readInt8() | 从缓冲区对象读取 8 位整数 |
| readInt16BE() | 从缓冲区对象读取一个 16 位整数,以 big-endian 格式返回结果 |
| readInt16LE() | 从缓冲区对象读取一个 16 位整数,以小尾数形式返回结果 |
| readInt32BE() | 从缓冲区对象中读取 32 位整数,并以 big-endian 格式返回结果 |
| readInt32LE() | 从缓冲区对象中读取 32 位整数,以小尾数形式返回结果 |
| readIntBE() | 从缓冲区对象中读取32位整数,以小尾数形式返回结果 |
| readIntLE() | 从缓冲区对象读取指定数量的字节,并以 little endian 返回结果 |
| readUInt8() | 从缓冲区对象读取无符号 8 位整数 |
| readUInt16BE() | 从缓冲区对象读取一个无符号 16 位整数,并以 big-endian 格式返回结果 |
| readUInt16LE() | 从缓冲区对象读取一个无符号 16 位整数,以小尾数形式返回结果 |
| readUInt32BE() | 从缓冲区对象中读取一个无符号 32 位整数,以 big-endian 格式返回结果 |
| readUInt32LE() | 从缓冲区对象读取一个无符号 32 位整数,以小尾数形式返回结果 |
| readUintBE() | 从缓冲区对象读取指定数量的字节,并将结果作为无符号整数返回 |
| readUIntLE() | 从缓冲区对象读取指定数量的字节,并将结果作为无符号整数返回 |
| slice() | 将缓冲区对象切片为新缓冲区对象,从指定位置开始并结束 |
| swap16() | 交换 16 位缓冲区对象的字节顺序 |
| swap32() | 交换 32 位缓冲区对象的字节顺序 |
| swap64() | 交换 64 位缓冲区对象的字节顺序 |
| toString() | 返回缓冲区对象的字符串版本 |
| toJSON() | 返回缓冲区对象的 JSON 版本 |
| values() | 返回缓冲区对象中的值数组 |
| write() | 将指定的字符串写入缓冲区对象 |
| writeDoubleBE() | 使用big-endian将指定的字节写入缓冲区对象。字节应为 64 位双精度。 |
| writeDoubleLE() | 使用 little endian 将指定的字节写入缓冲区对象。字节应为 64 位双精度。 |
| writeFloatBE() | 使用 big-endian 将指定的字节写入缓冲区对象。字节应为 32 位浮点。 |
| writeFloatLE() | 使用 little endian 将指定的字节写入缓冲区对象。字节应为 32 位浮点。 |
| writeInt8() | 将指定的字节写入缓冲区对象。字节应为 8 位整数 |
| writeInt16BE() | 使用 big-endian 将指定的字节写入缓冲区对象。字节应为 16 位整数。 |
| writeInt16LE() | 使用 little endian 将指定的字节写入缓冲区对象。字节应为 16 位整数。 |
| writeInt32BE() | 使用 big-endian 将指定的字节写入缓冲区对象。字节应为 32 位整数。 |
| writeInt32LE() | 使用 little endian 将指定的字节写入缓冲区对象。字节应为 32 位整数。 |
| writeIntBE() | 使用 big-endian 将指定的字节写入缓冲区对象。 |
| writeIntLE() | 使用 little endian 将指定的字节写入缓冲区对象。 |
| writeUInt8() | 将指定的字节写入缓冲区对象。字节应为 8 位无符号整数 |
| writeUInt16BE() | 使用big-endian将指定的字节写入缓冲区对象。字节应为 16 位无符号整数。 |
| writeUInt16LE() | 使用 little endian 将指定的字节写入缓冲区对象。字节应为 16 位无符号整数。 |
| writeUInt32BE() | 使用 big-endian 将指定的字节写入缓冲区对象。字节应为 32 位无符号整数。 |
| writeUInt32LE() | 使用 little endian 将指定的字节写入缓冲区对象。字节应为 32 位无符号整数。 |
| writeUIntBE() | 使用 big-endian 将指定的字节写入缓冲区对象 |
| writeUIntLE() | 使用 little endian 将指定的字节写入缓冲区对象 |