buf.readInt32BE([offset])
Версия | Изменения |
---|---|
v10.0.0 | Удалено noAssert , и больше нет неявного принуждения к смещению uint32 . |
v0.5.5 | Добавлено в: v0.5.5 |
offset
<целое число> Количество байтов, которые необходимо пропустить перед началом чтения.- Должен удовлетворить
0 <= offset <= buf.length - 4
. - По умолчанию:
0
. - Возвращает: <целое число>
Считывает 32-разрядное целое число с большим концом со знаком из buf
указанного offset
.
Целые числа, считываемые из a Buffer
, интерпретируются как два дополнительных значения со знаком.
import { Buffer } from 'buffer';
const buf = Buffer.from([0, 0, 0, 5]);
console.log(buf.readInt32BE(0));
// Prints: 5
const { Buffer } = require('buffer');
const buf = Buffer.from([0, 0, 0, 5]);
console.log(buf.readInt32BE(0));
// Prints: 5
Метод Buffer.writeUInt32BE() используется для записи числа в экземпляр класса Buffer. Это значение записывается с указанным смещением и в формате big endian.
Синтаксис:
buffer.writeUInt32BE(value, offset)
Параметры: Этот метод принимает два параметра, как указано выше и описано ниже:
- Value (Ценность): Этот параметр содержит число для записи. Это должно быть допустимое 32-разрядное целое число без знака. Кроме того, поведение не определено для недопустимого значения.
- Offset (Смещение): Этот параметр содержит количество байтов, которые необходимо пропустить. Значение должно находиться в диапазоне [0, буфер.длина – 4]. Это необязательный параметр, и значение по умолчанию равно нулю.
Возвращаемое значение: Этот параметр возвращает сумму количества записанных байтов и смещения.
Пример 1:
// Node.js program to demonstrate the
// Buffer.writeUInt32BE method
// Creating a buffer of size 8
const buffer = Buffer.allocUnsafe(8);
console.log(buffer);
// Return value is 4
buffer.writeUInt32BE(0xabcdabcd, 0);
console.log(buffer);
// Return value is 8
buffer.writeUInt32BE(0xabcdabcd, 4);
console.log(buffer);
Выход:
<Buffer 6c 69 63 65 00 00 00 00>
<Buffer ab cd ab cd 00 00 00 00>
<Buffer ab cd ab cd ab cd ab cd>
Пример 2:
// Node.js program to demonstrate the
// Buffer.writeUInt32BE method
// Creating a buffer of size 8
const buffer = Buffer.allocUnsafe(8);
console.log(buffer);
// Out of range error will be thrown
buffer.writeUInt32BE(0xabcdabcd, 5);
Выход:
<Buffer b0 f1 67 fc 63 7f 00 00>
Thrown:
RangeError [ERR_OUT_OF_RANGE] ........
Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_readint32be_offset