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