Node.js | Buffer.readIntLE () Метод
Метод Buffer.readIntLE () используется для чтения количества байтов из буфера по заданному смещению и интерпретирует результат как знаковое значение с дополнением до двух.
Синтаксис:
buffer.readIntLE (смещение, byteLen)
Параметры: этот метод принимает два параметра, как указано выше и описано ниже:
смещение: указывает положение буферного объекта. Он представляет количество байтов, которые нужно пропустить перед началом чтения. Он находится в диапазоне от 0 до buffer.length - byteLen .
byteLen: это целочисленное значение, указывающее количество байтов, которые должны быть прочитаны с данного смещения. Значение этого параметра находится в диапазоне от 0 до 6 .
Возвращаемое значение: возвращает целочисленное значение с байтами byteLen от указанного смещения с прямым порядком байтов.
Пример 1:
// Node.js program to demonstrate the // buffer.readIntLE( offset, byteLen ) method const buff = Buffer.from([0x11, 0x12, 0x34, 0x56, 0x89, 0xcd]); console.log(buff.readIntLE(0, 5).toString(16)); console.log(buff.readIntLE(0, 4).toString(16)); |
Выход:
-76a9cbedef 56341211
Пример 2:
// Node program to demonstrate the // buffer.readIntLE( offset, bytelen ) method const buff = Buffer.from([0x11, 0x12, 0x34, 0x56, 0x89, 0xcd]); console.log(buff.readIntLE(4, 6).toString(16)); console.log(buff.readIntLE(3, 0).toString(16)); |
Выход:
buffer.js: 831 throw new RangeError ('Индекс вне допустимого диапазона'); ^ RangeError: индекс вне допустимого диапазона в checkOffset (buffer.js: 831: 11) в Buffer.readIntLE (buffer.js: 918: 5) на объекте. (/home/cg/root/8545664/main.js:8:17) в Module._compile (module.js: 570: 32) в Object.Module._extensions..js (module.js: 579: 10) в Module.load (module.js: 487: 32) в tryModuleLoad (module.js: 446: 12) в Function.Module._load (module.js: 438: 3) в Module.runMain (module.js: 604: 10) при запуске (bootstrap_node.js: 389: 7)
В приведенном выше примере показана ошибка, поскольку ее параметры находятся за пределами допустимого диапазона.
Примечание:
- Чтобы получить значения в формате Big endian, вы можете использовать метод Buffer.readIntBE ().
- Вышеупомянутая программа будет скомпилирована и запущена с помощью команды
node index.js
.