返回文章列表 →

Note

Buffer

是 Node.js 用来表示一段原始二进制数据的对象

发布于 更新于

Buffer

是 Node.js 用来表示一段原始二进制数据的对象。 string 表示人能阅读的字符, Buffer 表示计算机实际处理的一串字节,可以这么理解。 例如字符串 abc ,转换成 UTF-8 字节后:

a    b    c
97   98   99

对应的 Buffer :

const buffer = Buffer.from('abc', 'utf8');

console.log(buffer);
// <Buffer 61 62 63>

// 显示十六进制为:
// 0x61 = 97 = a
// 0x62 = 98 = b
// 0x63 = 99 = c

Buffer.from()

将字符串、数组或其他二进制数据转换成 Buffer

参数与返回值

Buffer.from(
  string: string,
  encoding?: string,
): Buffer;
参数 含义
string 要转换的字符串
encoding 告诉 Node.js 应当如何解释这个字符串,默认是 'utf8'
返回值 创建出的 Buffer

常见编码

编码 含义
'utf8' 将字符串作为普通 UTF-8 文本处理
'hex' 将字符串作为十六进制数据处理
'base64' 将字符串作为 Base64 数据处理

示例

// 这里把61看成了两个普通字符:字符 "6" + 字符 "1"
Buffer.from('61', 'utf8'); // <Buffer 36 31>

// 把61看成一个十六进制数:0x61
Buffer.from('61', 'hex'); // <Buffer 61>

Buffer.from('61', 'hex').toString('utf8'); // "a"