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

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

buf.writeUIntLE(value, offset, byteLength)

ВерсияИзменения
v14.9.0, v12.19.0Эта функция также доступна как buf.writeUintLE().
v10.0.0Удалено noAssert и больше нет неявного принуждения к смещению и byteLengthuint32
v0.5.5Добавлено в: v0.5.5
  • value <целое число> Число, в которое нужно записать buf.
  • offset <целое число> Количество байтов, которые необходимо пропустить перед началом записи. 
  • Должен удовлетворить 0 <= offset <= buf.length - byteLength.
  • byteLength <целое число><целое число> Количество байтов для записи. 
  • Должен удовлетворить 0 < byteLength <= 6.
  • Возвращает: <целое число><целое число> offset плюс количество записанных байтов.

Записывает byteLength байты value в buf в указанном offset качестве с малым концом. Поддерживает точность до 48 бит. Поведение не определено, когда value это что-либо иное, чем целое число без знака.

Эта функция также доступна под writeUintLE псевдонимом.

import { Buffer } from 'buffer';

const buf = Buffer.allocUnsafe(6);

buf.writeUIntLE(0x1234567890ab, 0, 6);

console.log(buf);
// Prints: <Buffer ab 90 78 56 34 12>
const { Buffer } = require('buffer');

const buf = Buffer.allocUnsafe(6);

buf.writeUIntLE(0x1234567890ab, 0, 6);

console.log(buf);
// Prints: <Buffer ab 90 78 56 34 12>

Метод Buffer.writeUIntLE() используется для записи указанных байтов, используя little endian, в объект буфера. Он поддерживает точность до 48 бит. Его поведение не определено, когда вы используете значение, отличное от целого числа без знака.

Синтаксис:

Buffer.writeUIntLE( value, offset, byteLength )

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

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

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

Приведенные ниже примеры иллюстрируют использование метода Buffer.writeUIntLE() в Node.js:

Пример 1:

// Node.js program to demonstrate the
// Buffer.writeUIntLE() method

// Creating a buffer of size 4
const buffer_1 = Buffer.allocUnsafe(4);

// Writes byteLength bytes of value to buf
// at the specified offset.
buffer_1.writeUIntLE(0x12127474, 0, 4);

// Display the result
console.log(buffer_1);

// Creating a buffer of size 6
const buffer_2 = Buffer.allocUnsafe(6);
buffer_2.writeUIntLE(0x12127474abcd, 0, 6);

// Display the result
console.log(buffer_2);

Выход:

<Buffer 74 74 12 12>
<Buffer cd ab 74 74 12 12>

Пример 2:

// Node.js program to demonstrate the
// Buffer.writeUIntLE() method

// Creating a buffer of given size
const buffer = Buffer.allocUnsafe(8);
//Before writing anything
console.log("Before filling buffer");
console.log(buffer);

// to fill first 6 bytes, take offset 0
// and bytelength 6
console.log("After filling 6 bytes");
buffer.writeUIntLE(0xcc1267280012, 0, 6);
console.log(buffer);

// to fill next 2 bytes add 6 offet
// and bytelength 2
console.log("After filling next 2 bytes");
buffer.writeUIntLE(0x1112, 6, 2)
console.log(buffer);

Выход:

Before filling buffer
<Buffer 00 00 00 00 00 00 00 00>
After filling 6 bytes
<Buffer 12 00 28 67 12 cc 00 00>
After filling next 2 bytes
<Buffer 12 00 28 67 12 cc 12 11>

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

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