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"