Buffer
objects are used to represent a sequence of bytes of pre-determined size. They are similar to arrays but cannot be resized. Since the Buffer
class is designed to handle raw binary data, it provides various methods, particularly for binary data.
The readIntBE
method is used to read a specific number of bytes at an offset provided in the function’s arguments. The bytes read from the buffer are represented as a big-endian, two’s complement signed integer value supporting up to 48 bits of accuracy.
The method can be accessed using the .
notation on a buffer object. In the following example, buf
is a Buffer
object:
buf.readIntBE(offset, byteLength)
offset
is the number of bytes to skip before reading the buffer. It is initialized with 0 by default. The offset
must be between 0
and (buf.length - byteLength)
.
buf.length
is the size of the buffer, i.e. the number of elements in the buffer.
byteLength
is the number of bytes to be read. This number should be between 0
and 6
.The function returns a big-endian, two’s complement signed integer value.
We will demonstrate how to use the readIntBE
in the following example:
const buf = Buffer.from([0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80]);console.log(buf.readIntBE(0, 6).toString(16));console.log(buf.readIntBE(1, 6).toString(16));//console.log(buf.readIntBE(3, 6).toString(16));
.from
method of the Buffer
object.ERR_OUT_OF_RANGE
(out of range) error when the offset is greater than the limit we described above in the heading Syntax and Parameters.The
toString
method is used to convert the result into text. We provide 16 as theradix
argument of the function to convert the result into a hexadecimal representation.