buf.swap64()
Добавлено в: v6.3.0
- Возвращает: <Буфер> Ссылку на
buf
.
Интерпретируется buf
как массив 64-разрядных чисел и меняет порядок байтов на месте. Бросает ERR_INVALID_BUFFER_SIZE
, если buf.length
не кратно 8.
const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.log(buf1);
// Prints: <Buffer 01 02 03 04 05 06 07 08>
buf1.swap64();
console.log(buf1);
// Prints: <Buffer 08 07 06 05 04 03 02 01>
const buf2 = Buffer.from([0x1, 0x2, 0x3]);
buf2.swap64();
// Throws ERR_INVALID_BUFFER_SIZE.
Метод Buffer.swap64() представляет собой встроенный интерфейс прикладного программирования класса Buffer в модуле Buffer, который используется для замены порядка байтов буфера на месте. Замена выполняется путем интерпретации буфера как массива 64-разрядных чисел.
Синтаксис:
Buffer.swap64()
Параметры: Этот метод не принимает никаких параметров.
Return value (Возвращаемое значение): Он возвращает ссылку на буфер.
Выдана ошибка: Это бросает ERR_INVALID_BUFFER_SIZE если длина буфера (buf.длина) не кратна 8.
Приведенные ниже примеры иллюстрируют использование метода Buffer.swap64() в Node.js:
Пример 1:
// Node.js program to demonstrate the
// Buffer.swap64() method
// Creating a buffer
const buf = Buffer.from([0x7, 0x0, 0x1,
0x1, 0x4, 0x5, 0x4, 0x6]);
// Display the buffer value
// before swap
console.log(buf);
// Using Buffer.swap64() method
buf.swap64();
// Display the result
// after swap
console.log(buf);
Выход:
<Buffer 07 00 01 01 04 05 04 06>
<Buffer 06 04 05 04 01 01 00 07>
Пример 2: Мы рассмотрим ошибку, вызванную этим методом
// Node.js program to demonstrate the
// Buffer.swap64() method
// Creating a buffer
const buf = Buffer.from([0x0,
0x1, 0x2, 0x3, 0x4, 0x5]);
// Display the buffer value
// before swap
console.log(buf);
try {
// Using Buffer.swap64() method
// It will throw error
buf.swap64();
// Display the result
// after swap
console.log(buf);
}
catch(e) {
console.log("Entering catch block");
// Display error
console.log(e);
}
Выход:
<Buffer 00 01 02 03 04 05>
Entering catch block
RangeError [ERR_INVALID_BUFFER_SIZE]: Buffer size must be a multiple of 64-bits
at Buffer.swap64 (buffer.js:1059:11)
at /home/runner/index.js:14:9
.......
Примечание: Вышеуказанная программа будет скомпилирована и запущена с помощью node index.js
Ссылка: https://nodejs.org/dist/latest-v13.x/docs/api/buffer.html#buffer_buf_swap64