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

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

buf.writeInt16LE(value[, offset])

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

Пишет valuebuf в указанный offset адрес с указанной конечностью (writeInt16BE() пишет как большой конец, writeInt16LE() пишет как малый конец). value должно быть допустимым 16-разрядным целым числом со знаком. Поведение не определено, если value это что-либо иное, чем 16-разрядное целое число со знаком.

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

const buf = Buffer.allocUnsafe(4);

buf.writeInt16BE(0x0102, 0);
buf.writeInt16LE(0x0304, 2);

console.log(buf);
// Prints: <Buffer 01 02 04 03>

Метод Buffer.writeInt16LE() представляет собой встроенный интерфейс прикладного программирования класса Buffer в модуле Buffer, который используется для записи действительного 16-разрядного целого числа со знаком в буфер с указанным смещением с указанным форматом малого конца.

Синтаксис:

Buffer.writeInt16LE( value, offset )

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

  • value (ценность): Допустимое 16-разрядное целое число со знаком, которое должно быть записано в буфер.
  • offset (смещение): Он обозначает количество байтов, которые необходимо пропустить перед началом записи в буфер. Значение смещения лежит в пределах диапазона 0 <= offset <= buf.length – 2. Значение смещения по умолчанию равно 0.

Return value (Возвращаемое значение): Он возвращает буфер со значением, вставленным с заданным смещением в формате little endian.

Ниже приведены примеры, иллюстрирующие использование Buffer.writeInt16LE() Способ в Node.js:

Пример 1:

// Node.js program to demonstrate the
// Buffer.writeInt16LE() method
	
// Creating a buffer
const buf = Buffer.allocUnsafe(10);

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x0114, 0);

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

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x1015, 2);

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

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x0016, 8);

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

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x0217, 6);

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

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x0518, 4);
	
// Display the result
console.log(buf);

Выход:

<Buffer 14 01 9b 02 00 00 00 00 a8 79>
<Buffer 14 01 15 10 00 00 00 00 a8 79>
<Buffer 14 01 15 10 00 00 00 00 16 00>
<Buffer 14 01 15 10 00 00 17 02 16 00>
<Buffer 14 01 15 10 18 05 17 02 16 00>

Пример 2:

// Node.js program to demonstrate the
// Buffer.writeInt16LE() method
	
// Creating a buffer
const buf = Buffer.allocUnsafe(6);

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x2211, 0);

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

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x4433, 2);

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

// Using Buffer.writeInt16LE() method
buf.writeInt16LE(0x6655, 4);

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

Выход:

<Buffer 11 22 00 00 00 00>
<Buffer 11 22 33 44 00 00>
<Buffer 11 22 33 44 55 66>

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

Ссылка: https://nodejs.org/dist/latest-v13.x/docs/api/buffer.html#buffer_buf_writeint16le_value_offset