Node.js Buffer.toString() 方法
Buffer.toString()方法用于根据指定的编码类型将缓冲区数据解码为字符串。开始和结束偏移仅用于解码缓冲区的特定子集。如果缓冲区数据中的字节序列根据提供的编码无效,则将其替换为默认替换字符,即U+FFFD 。
句法:
Buffer.toString( encoding, start, end )
参数:此方法接受上面提到的两个参数,如下所述:
- encoding:必须对缓冲区数据字符进行编码的格式。它的默认值为'utf8' 。
- start:必须从其开始编码的缓冲区数据的开始索引。它的默认值为0 。
- end:必须完成编码的缓冲区数据的最后一个索引。它的默认值为Buffer.length。
返回值:根据指定的字符编码将解码后的字符串从缓冲区返回到字符串。
示例 1:
// Node.js program to demonstrate the
// Buffer.toString() Method
// Creating a buffer
var buffer = new Buffer.alloc(5);
// Loop to add value to the buffer
for (var i = 0; i < 5; i++) {
buffer[i] = i + 97;
}
// Display the value of buffer
// in string format
console.log(buffer.toString());
console.log(buffer.toString('utf-8', 1, 4));
console.log(buffer.toString('hex'));
输出:
abcde
bcd
6162636465
说明:在上面的例子中,我们声明了一个大小为 5 的变量缓冲区,并填充了从 'a' 到 'e' 的 ASCII 值。接下来,我们使用了不带任何参数的toString()方法,它返回具有默认编码样式的字符串,即完整缓冲区的“UTF-8”。在下一行,它返回从索引 1 到 3 的编码样式为 'UTF-8' 的字符串(此处不包括 4)。最后,它返回编码样式为“HEX”的字符串表示形式。
示例 2:
// Node.js program to demonstrate the
// Buffer.toString() Method
// Creating a buffer
var buffer = new Buffer.alloc(5);
// Loop to add value to the buffer
for (var i = 0; i < 5; i++) {
buffer[i] = i + 97;
}
// Display the value of buffer
// in string format
console.log(buffer.toString(undefined));
输出:
abcde
注意:以上程序将使用node index.js
命令编译运行。
参考: https://nodejs.org/api/buffer.html#buffer_buf_tostring_encoding_start_end