El método Buffer.readUInt32LE() es una interfaz de programación de aplicaciones incorporada de clase Buffer dentro del módulo Buffer que se usa para leer un valor de 32 bits de un búfer asignado en un desplazamiento especificado en formato little endian.
Sintaxis:
Buffer.readUInt32LE( 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 little endian.
Los siguientes ejemplos ilustran el uso del método Buffer.readUInt32LE() 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 32bits data from the buffer // and printing it as a string console.log(buf.readUInt32LE(0).toString(16)); console.log(buf.readUInt32LE(1).toString(16)); console.log(buf.readUInt32LE(2).toString(16)); console.log(buf.readUInt32LE(3).toString(16)); console.log(buf.readUInt32LE(4).toString(16));
Producción:
<Buffer 21 09 19 98 16 09 19 96> 98190921 16981909 9169819 19091698 96190916
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.readUInt32LE(0).toString(16)); console.log(buf.readUInt32BE(0).toString(16)); console.log(buf.readUInt32LE(1).toString(16)); console.log(buf.readUInt32BE(1).toString(16)); console.log(buf.readUInt32LE(2).toString(16)); console.log(buf.readUInt32BE(2).toString(16)); console.log(buf.readUInt32LE(3).toString(16)); console.log(buf.readUInt32BE(3).toString(16)); console.log(buf.readUInt32LE(4).toString(16)); console.log(buf.readUInt32BE(4).toString(16));
Producción:
<Buffer 21 09 19 98 34 ae e8 ff> 98190921 21091998 34981909 9199834 ae349819 199834ae e8ae3498 9834aee8 ffe8ae34 34aee8ff
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.readUInt32LE(0).toString(16)); // Wrong index is provoded to produce error console.log(buf.readUInt32LE(1).toString(16));
Producción:
<Buffer 21 09 19 98> 98190921 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.readUInt32LE (internal/buffer.js:105:5) at Object. (C:\nodejs\buf_readuint32le_2.js:10:17) . . .
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/api/buffer.html#buffer_buf_readuint32le_offset