Método Node.js Buffer.readUIntLE()

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

Sintaxis:

Buffer.readUIntLE( 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 .

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

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

Ejemplo 1:

// Node program to demonstrate the  
// Buffer.readUIntLE() 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.readUIntLE(0, 3).toString(16));
console.log(buf.readUIntLE(1, 3).toString(16));
console.log(buf.readUIntLE(2, 2).toString(16));

Producción:

<Buffer 21 09 19 98>
190921
981909
9819

Ejemplo 2:

// Node program to demonstrate the  
// Buffer.readUIntLE() 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.readUIntLE(0, 3).toString(16));
console.log(buf.readUIntBE(0, 3).toString(16));
console.log(buf.readUIntLE(1, 2).toString(16));
console.log(buf.readUIntBE(1, 2).toString(16));
console.log(buf.readUIntLE(2, 1).toString(16));
console.log(buf.readUIntBE(2, 1).toString(16));

Producción:

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

Ejemplo 3:

// Node program to demonstrate the  
// Buffer.readUIntLE() 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.readUIntLE(0, 4).toString(16));
console.log(buf.readUIntLE(1, 2).toString(16));
console.log(buf.readUIntLE(2, 3).toString(16));
   
// Wrong index is provoded to produce error
console.log(buf.readUIntLE(3, 6).toString(16));

Producción:

<Buffer 21 09 19 98>
98190921
1909
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 readUInt24LE (internal/buffer.js:118:5)
    at Buffer.readUIntLE (internal/buffer.js:61:12)
    . . .

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

Referencia: https://nodejs.org/api/buffer.html#buffer_buf_readuintle_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 *