Node.js Buffer.swap16(), swap32(), swap64() 方法



Buffer.swap16()、Buffer.swap32()、Buffer.swap64() 方法将缓冲区视为无符号 16 位、32 位或 64 位整数的数组,并就地交换字节顺序并返回对缓冲区的引用。

请注意 -

  • Buffer.swap16(),如果缓冲区长度不是 2 的倍数,它将抛出一个名为 ERR_INVALID_BUFFER_SIZE 的错误。
  • Buffer.swap32(),如果缓冲区长度不是 4 的倍数,它将抛出一个名为 ERR_INVALID_BUFFER_SIZE 的错误。
  • Buffer.swap64(),如果缓冲区长度不是 8 的倍数,它将抛出一个名为 ERR_INVALID_BUFFER_SIZE 的错误。

语法

以下是Node.JS Buffer.swap16(),Buffer.swap32(),Buffer.swap64()方法的语法 -


 buf.swap16() buf.swap32() buf.swap64()

参数

此方法不接受任何参数。

返回值

方法 buffer.swap16()、buffer.swap32()、buffer.swap64() 返回对通过就地交换字节顺序所使用的缓冲区的引用。

为了创建一个缓冲区,我们将使用 NodeJS Buffer.from() 方法 -


const buf1 = Buffer.from([11, 12, 13, 14, 15, 16]);
console.log(buf1);
const buf2 = buf1.swap16();
console.log(buf2);

输出

在上面,我们使用了 NodeJS buf.swap16(),并且同样返回对所用缓冲区的引用。

<Buffer 0b 0c 0d 0e 0f 10>
<Buffer 0c 0b 0e 0d 10 0f>

为了创建一个缓冲区,我们将使用 NodeJS Buffer.from() 方法 -


const buf1 = Buffer.from([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]);
console.log(buf1);
const buf2 = buf1.swap32();
console.log(buf2);

输出

在上面,我们使用了 NodeJS buf.swap32(),并且同样返回对所用缓冲区的引用。

<Buffer 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10>
<Buffer 04 03 02 01 08 07 06 05 0c 0b 0a 09 10 0f 0e 0d>

为了创建一个缓冲区,我们将使用 Buffer.from() 方法 -


const buf1 = Buffer.from([1,2,3,4,5,6,7,8]);
console.log(buf1);
const buf2 = buf1.swap64();
console.log(buf2);

输出

在上面,我们使用了 NodeJS buf.swap64(),并且同样返回对所用缓冲区的引用。

<Buffer 01 02 03 04 05 06 07 08>
<Buffer 08 07 06 05 04 03 02 01>