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

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

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