📜  Node.js Buffer.toString() 方法

📅  最后修改于: 2022-05-13 01:56:53.859000             🧑  作者: Mango

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