Open In App

Node.js | Buffer.readUInt32LE() Method

Improve
Improve
Like Article
Like
Save
Share
Report

The Buffer.readUInt32LE() method is an inbuilt application programming interface of class Buffer within the Buffer module which is used to read 32-bit value from an allocated buffer at a specified offset in little endian format.

Syntax:

Buffer.readUInt32LE( offset )

Parameters: This method accept single parameter offset which specifies the number of bytes to skip before read or simply signify the index in the buffer. The value of offset lies 0 <= offset <= Buffer.length – 4. Its default value is 0.

Return Value: This method returns an integer value that read from buffer in little endian format.

Below examples illustrate the use of Buffer.readUInt32LE() method in Node.js:

Example 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));


Output:

<Buffer 21 09 19 98 16 09 19 96>
98190921
16981909
9169819
19091698
96190916

Example 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));


Output:

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

Example 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));


Output:

<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)
    . . .

Note: The above program will compile and run by using the node index.js command.

Reference: https://nodejs.org/api/buffer.html#buffer_buf_readuint32le_offset



Last Updated : 30 Dec, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads