• 返回: {Buffer} buf 的引用。

    buf 解析成无符号的 16 位整数的数组,并且以字节顺序原地进行交换。 如果 [buf.length] 不是 2 的倍数,则抛出 [ERR_INVALID_BUFFER_SIZE]。

    1. const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
    2. console.log(buf1);
    3. // 打印: <Buffer 01 02 03 04 05 06 07 08>
    4. buf1.swap16();
    5. console.log(buf1);
    6. // 打印: <Buffer 02 01 04 03 06 05 08 07>
    7. const buf2 = Buffer.from([0x1, 0x2, 0x3]);
    8. buf2.swap16();
    9. // 抛出异常 ERR_INVALID_BUFFER_SIZE。

    buf.swap16() 的一个方便用途是在 UTF-16 小端序和 UTF-16 大端序之间执行快速的原地转换:

    1. const buf = Buffer.from('This is little-endian UTF-16', 'utf16le');
    2. buf.swap16(); // 转换为大端序 UTF-16 文本。