buf.writeUIntBE(value, offset, byteLength)
Версия | Изменения |
---|---|
v14.9.0, v12.19.0 | Эта функция также доступна как buf.writeUintBE() . |
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
это что-либо иное, чем целое число без знака.
Эта функция также доступна под writeUintBE
псевдонимом.
import { Buffer } from 'buffer';
const buf = Buffer.allocUnsafe(6);
buf.writeUIntBE(0x1234567890ab, 0, 6);
console.log(buf);
// Prints: <Buffer 12 34 56 78 90 ab>
const { Buffer } = require('buffer');
const buf = Buffer.allocUnsafe(6);
buf.writeUIntBE(0x1234567890ab, 0, 6);
console.log(buf);
// Prints: <Buffer 12 34 56 78 90 ab>
Метод Buffer.writeUIntBE() используется для записи указанных байтов в формате big endian в объект Buffer. Он поддерживает точность до 6 байт. Его поведение не определено, когда вы используете значение, отличное от целого числа без знака.
Синтаксис:
Buffer.writeUIntBE( value, offset, byteLength )
Параметры: Этот метод принимает три параметра, как указано выше и описано ниже:
- value (ценность): Он указывает номер, который должен быть записан в объект буфера.
- offset (смещение): Он определяет количество байтов, которые необходимо пропустить перед началом записи в буфер. Значение смещения лежит 0 <= offset <= buf.length – byteLength.
- byteLength (По длине): Он определяет количество байтов для записи в буфер. Значение длины байта заключается 0 < byteLength <= 6.
Возвращаемое значение: Он возвращает смещение плюс количество записанных байтов.
Ниже приведены примеры, иллюстрирующие использование метода Buffer.writeUIntBE() в Node.js:
Пример 1:
// Node.js program to demonstrate the
// Buffer.writeUIntBE() 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.writeUIntBE(0x13141516, 0, 4);
// Display the result
console.log(buffer_1);
// Creating a buffer of size 6
const buffer_2 = Buffer.allocUnsafe(6);
buffer_2.writeUIntBE(0x131314141515, 0, 6);
// Display the result
console.log(buffer_2);
Выход:
<Buffer 13 14 15 16>
<Buffer 13 13 14 14 15 15>
Пример 2:
// Node.js program to demonstrate the
// Buffer.writeUIntBE() 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.writeUIntBE(0xaa1313147586, 0, 6);
console.log(buffer);
// To fill next 2 bytes add 6 offet
// and bytelength 2
console.log("After filling next 2 bytes");
buffer.writeUIntBE(0x0123, 6, 2)
console.log(buffer);
Выход:
Before filling buffer
<Buffer 00 00 00 00 00 00 00 00>
After filling 6 bytes
<Buffer aa 13 13 14 75 86 00 00>
After filling next 2 bytes
<Buffer aa 13 13 14 75 86 01 23>
Примечание: Приведенная выше программа будет скомпилирована и запущена с помощью node index.js
команды.
Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_writeuintbe_value_offset_bytelength