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

Опубликовано: 5 Августа, 2021

Метод Buffer.writeUInt32BE () используется для записи числа в экземпляр класса Buffer. Это значение записывается с указанным смещением и в формате big endian.

Синтаксис:

 buffer.writeUInt32BE (значение, смещение)

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

  • Значение: этот параметр содержит записываемое число. Это должно быть действительное 32-битное целое число без знака. Кроме того, поведение не определено для недопустимого значения.
  • Смещение: этот параметр содержит количество пропускаемых байтов. Значение должно быть в диапазоне [0, buffer.length - 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);

Выход:

<Буфер 6c 69 63 65 00 00 00 00>
<Буфер ab cd ab cd 00 00 00 00>
<Буфер 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);

Выход:

<Буфер b0 f1 67 fc 63 7f 00 00>
Брошено:
RangeError [ERR_OUT_OF_RANGE] ........

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