Método Node.js Buffer.readUIntBE()

El método Buffer.readUIntBE() es una interfaz de programación de aplicaciones incorporada de la clase Buffer dentro del módulo Buffer que se utiliza para leer un número específico de valores de bytes de un búfer asignado en un desplazamiento específico.

Sintaxis:

Buffer.readUIntBE( offset, byteLength )

Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:

  • offset: especifica el número de bytes a omitir antes de leer o simplemente indicar el índice en el búfer. El valor de offset es 0 <= offset <= Buffer.length – byteLength . Su valor por defecto es 0.
  • byteLength: Especifica el número de bytes a leer. El valor de byteLength es 0 < byteLength <= 6 .

Retorno: 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.readUIntBE() en Node.js:

Ejemplo 1:

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

Producción:

<Buffer 21 09 19 98>
210919
91998
1998

Ejemplo 2:

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

Producción:

<Buffer 21 09 19 98>
210919
190921
919
1909
19
19

Ejemplo 3:

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

Producción:

<Buffer 21 09 19 98>
21091998
919
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 <= 1. Received 2
    at boundsError (internal/buffer.js:49:9)
    at readUInt24BE (internal/buffer.js:205:5)
    at Buffer.readUIntBE (internal/buffer.js:148:12)
    . . . 

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

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

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 *