📅  最后修改于: 2023-12-03 15:33:08.355000             🧑  作者: Mango
Node.js 中的 Buffer 类用于处理二进制数据。Buffer.toString()
方法是将 Buffer 对象中的数据转化为字符串的方法。本文将介绍 Node.js 中的 Buffer.toString()
方法实现及使用。
Buffer.toString()
方法的基本语法:
buf.toString([encoding[, start[, end]]])
encoding
:默认为 utf8
,表示使用的编码方式。start
:可选参数,起始位置,也即将 Buffer 转换为字符串的起始位置。end
:可选参数,截止位置(不包括)。以下是使用 Buffer.toString()
方法的示例:
const buf = Buffer.from('Hello World', 'utf8');
console.log(buf.toString('hex')); // 输出: 48656c6c6f20576f726c64
console.log(buf.toString('base64')); // 输出: SGVsbG8gV29ybGQ=
console.log(buf.toString('ascii')); // 输出: Hello World
下面介绍 Buffer.toString()
方法的参数。
encoding
表示使用的编码方式。默认为 utf8
。
以下是常用编码方式:
ascii
:仅支持 7 位 ASCII 数据。utf8
: 多字节编码的 Unicode 字符。许多网页和其他文本文档以及数据库中的文本都使用此编码方式。utf16le
: 2 或 4 个字节,小端序编码的 Unicode 字符。支持代理对(U+10000 至 U+10FFFF)。ucs2
: utf16le 的别名。base64
: Base64 编码。latin1
: ISO-8859-1,适用于在双字节编码不可用的情况下快速编写十六进制编码的场景。binary
: latin1
的别名。hex
: 将每个字节编码为两个十六进制字符。start
和 end
分别表示转换为字符串的起始位置和结束位置,如果不传这两个参数,则默认将整个 Buffer 对象中的数据全部转为字符串。
以下是使用 start
和 end
参数的示例:
const buf = Buffer.from('Hello World', 'utf8');
console.log(buf.toString('utf8', 0, 5)); // 输出 "Hello"
Buffer.toString()
是将二进制数据转化为字符串的方法,可以指定使用的编码方式、起始位置和截止位置。使用时要注意传入正确的参数,以便将二进制数据正确转化为字符串。