• source {Buffer|Uint8Array} 一个 BufferUint8Array 实例。
    • fromEnc {string} 当前字符编码。
    • toEnc {string} 目标字符编码。
    • 返回: {Buffer}

    将指定的 BufferUint8Array 实例从一个字符编码重新编码到另一个字符。 返回新的 Buffer 实例。

    如果 fromEnctoEnc 指定了无效的字符编码,或者无法从 fromEnc 转换为 toEnc,则抛出异常。

    buffer.transcode() 支持的字符编码有 'ascii''utf8''utf16le''ucs2''latin1''binary'

    如果指定的字节序列无法用目标字符编码表示,则转码过程会使用替代的字符。 例如:

    1. const buffer = require('buffer');
    2. const newBuf = buffer.transcode(Buffer.from('€'), 'utf8', 'ascii');
    3. console.log(newBuf.toString('ascii'));
    4. // 打印: '?'

    因为欧元符号()无法在 US-ASCII 中表示,所以在转码 Buffer 时使用 ? 代替。