You are currently viewing Node.js Buffer | Метод Buffer.writeInt32LE()

Node.js Buffer | Метод Buffer.writeInt32LE()

buf.writeInt32LE(value[, offset])

ВерсияИзменения
v10.0.0Удалено noAssert, и больше нет неявного принуждения к смещению uint32.
v0.5.5Добавлено в: v0.5.5
  • value <целое число> Число, в которое нужно записать buf.
  • offset <целое число> Количество байтов, которые необходимо пропустить перед началом записи. 
  • Должен удовлетворить 0 <= offset <= buf.length - 4
  • По умолчанию: 0.
  • Возвращает: <целое число> offset плюс количество записанных байтов.

Записывает valuebuf на указанный offset как little-endian. Значение value должно быть допустимым 32-разрядным целым числом со знаком. Поведение не определено, если value это что-либо иное, чем 32-разрядное целое число со знаком.

Значение value интерпретируется и записывается как целое число со знаком, дополняющее два.

import { Buffer } from 'buffer';

const buf = Buffer.allocUnsafe(4);

buf.writeInt32LE(0x05060708, 0);

console.log(buf);
// Prints: <Buffer 08 07 06 05>
const { Buffer } = require('buffer');

const buf = Buffer.allocUnsafe(4);

buf.writeInt32LE(0x05060708, 0);

console.log(buf);
// Prints: <Buffer 08 07 06 05>

Метод Buffer.writeInt32LE() используется для записи указанных байтов в буфер с использованием формата little-endian. Значение содержит допустимое 32-разрядное целое число со знаком. Если значение содержит другое 32-разрядное целое число со знаком, то его поведение не определено.

Синтаксис:

Buffer.writeInt32LE( value, offset )

Параметры: Этот метод принимает два параметра, как указано выше и описано ниже:

  • value (ценность): Это целочисленное значение, представляющее значение, записанное в буфер.
  • offset (смещение): Это целочисленное значение, и оно представляет количество байтов, которые необходимо пропустить перед началом записи, а значение смещения находится в пределах диапазона 0 to buffer.length – 4. Это значение по умолчанию равно 0.

Return value (Возвращаемое значение): Он возвращает смещение плюс количество записанных байтов.

Пример 1:

// Node.js program to demonstrate the
// Buffer.writeInt32LE() Method

// Allocate a buffer
const buf = Buffer.allocUnsafe(8);

// Write the buffer element in LE format
buf.writeInt32LE(0x05060708, 0);

// Display the buffer list
console.log(buf);

// Write the buffer element in LE format
buf.writeInt32LE(0x05060708, 4);

// Display the buffer list
console.log(buf);

Выход:

<Buffer 08 07 06 05 00 00 00 00>
<Buffer 08 07 06 05 08 07 06 05>

Пример 2:

// Node.js program to demonstrate the
// Buffer.writeInt32LE() Method

// Allocate a buffer
const buf = Buffer.allocUnsafe(8);

// Write the buffer element in LE format
buf.writeInt32LE(0x12345678, 0);

// Display the buffer list
console.log(buf);

// Write the buffer element in LE format
buf.writeInt32LE(0x123456, 4);

// Display the buffer list
console.log(buf);

Выход:

<Buffer 78 56 34 12 63 65 73 73>
<Buffer 78 56 34 12 56 34 12 00>

Примечание: Вышеуказанная программа будет скомпилирована и запущена с помощью node index.js команда.

Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_writeint32le_value_offset