• encoding {string} 使用的字符编码。默认值: 'utf8'
    • start {integer} 开始解码的字节偏移量。默认值: 0
    • end {integer} 结束解码的字节偏移量(不包含)。默认值: [buf.length]。
    • 返回: {string}

    根据 encoding 指定的字符编码将 buf 解码成字符串。 传入 startend 可以只解码 buf 的子集。

    如果 encoding'utf8',并且输入中的字节序列不是有效的 UTF-8,则每个无效的字节都会由替换字符 U+FFFD 替换。

    字符串的最大长度(以 UTF-16 为单位)可查看 [buffer.constants.MAX_STRING_LENGTH]。

    1. const buf1 = Buffer.allocUnsafe(26);
    2. for (let i = 0; i < 26; i++) {
    3. // 97 是 'a' 的十进制 ASCII 值。
    4. buf1[i] = i + 97;
    5. }
    6. console.log(buf1.toString('utf8'));
    7. // 打印: abcdefghijklmnopqrstuvwxyz
    8. console.log(buf1.toString('utf8', 0, 5));
    9. // 打印: abcde
    10. const buf2 = Buffer.from('tést');
    11. console.log(buf2.toString('hex'));
    12. // 打印: 74c3a97374
    13. console.log(buf2.toString('utf8', 0, 3));
    14. // 打印: té
    15. console.log(buf2.toString(undefined, 0, 3));
    16. // 打印: té