Método Node.js Buffer.readUInt32BE()

El método Buffer.readUInt32BE() es una interfaz de programación de aplicaciones incorporada de clase Buffer dentro del módulo Buffer que se utiliza para leer un valor de 32 bits de un búfer asignado en un desplazamiento especificado.

Sintaxis:

Buffer.readUInt32BE( offset )

Parámetros: este método acepta el desplazamiento de un solo parámetro que especifica el número de bytes que se omitirán antes de leer o simplemente indicar el índice en el búfer. El valor de desplazamiento es 0 <= desplazamiento <= Buffer.length – 4 . Su valor por defecto es 0.

Valor devuelto: este método devuelve un valor entero que se lee del búfer en formato Big Endian.

Los siguientes ejemplos ilustran el uso del método Buffer.readUInt32BE() en Node.js:

Ejemplo 1:

// Node program to demonstrate the  
// Buffer.readUInt32LE() Method
   
// Allocating buffer from array
const buf = Buffer.from([0x21, 0x09, 0x19, 0x98,
                    0x16, 0x09, 0x19, 0x96]);
  
// Printing allocated buffer
console.log(buf);
   
// Reading 32 bits data from the buffer
// and printing it as a string
console.log(buf.readUInt32BE(0).toString(16));
console.log(buf.readUInt32BE(1).toString(16));
console.log(buf.readUInt32BE(2).toString(16));
console.log(buf.readUInt32BE(3).toString(16));
console.log(buf.readUInt32BE(4).toString(16));

Producción:

<Buffer 21 09 19 98 16 09 19 96>
21091998
9199816
19981609
98160919
16091996

Ejemplo 2:

// Node program to demonstrate the  
// Buffer.readUInt32LE() Method
   
// Allocating buffer from array
const buf = Buffer.from([0x21, 0x09, 0x19, 0x98,
                    0x34, 0xae, 0xe8, 0xff]);
  
// Printing allocated buffer
console.log(buf);
   
// Reading 16bits data from the
// buffer and printing it as a string
console.log(buf.readUInt32BE(0).toString(16));
console.log(buf.readUInt32LE(0).toString(16));
console.log(buf.readUInt32BE(1).toString(16));
console.log(buf.readUInt32LE(1).toString(16));
console.log(buf.readUInt32BE(2).toString(16));
console.log(buf.readUInt32LE(2).toString(16));
console.log(buf.readUInt32BE(3).toString(16));
console.log(buf.readUInt32LE(3).toString(16));
console.log(buf.readUInt32BE(4).toString(16));
console.log(buf.readUInt32LE(4).toString(16));

Producción:

<Buffer 21 09 19 98 34 ae e8 ff>
21091998
98190921
9199834
34981909
199834ae
ae349819
9834aee8
e8ae3498
34aee8ff
ffe8ae34

Ejemplo 3:

// Node program to demonstrate the  
// Buffer.readUInt32LE() Method
   
// Allocating buffer from array
const buf = Buffer.from([0x21, 0x09, 0x19, 0x98]);
  
// Printing allocated buffer
console.log(buf);
   
// Reading 16bits data from the buffer
// and printing it as a string
console.log(buf.readUInt32BE(0).toString(16));
   
// Wrong index is provoded to produce error
console.log(buf.readUInt32BE(1).toString(16));

Producción:

<Buffer 21 09 19 98>
21091998
internal/buffer.js:49
  throw new ERR_OUT_OF_RANGE(type || 'offset',
  ^

RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range.
It must be >= 0 and <= 0. Received 1
    at boundsError (internal/buffer.js:49:9)
    at Buffer.readUInt32BE (internal/buffer.js:192:5)
    . . .

Nota: El programa anterior se compilará y ejecutará usando el node index.jscomando.

Referencia: https://nodejs.org/api/buffer.html#buffer_buf_readuint32be_offset

Publicación traducida automáticamente

Artículo escrito por vyer y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *