buf.readInt8([offset])
Версия | Изменения |
---|---|
v10.0.0 | Удалено noAssert , и больше нет неявного принуждения к смещению uint32 . |
v0.5.0 | Добавлено в: v0.5.0 |
offset
<целое число> Количество байтов, которые необходимо пропустить перед началом чтения.- Должен удовлетворить
0 <= offset <= buf.length - 1
. - По умолчанию:
0
. - Возвращает: <целое число>
Считывает 8-разрядное целое число со знаком из buf
указанного offset
.
Целые числа, считываемые из a Buffer
, интерпретируются как два дополнительных значения со знаком.
import { Buffer } from 'buffer';
const buf = Buffer.from([-1, 5]);
console.log(buf.readInt8(0));
// Prints: -1
console.log(buf.readInt8(1));
// Prints: 5
console.log(buf.readInt8(2));
// Throws ERR_OUT_OF_RANGE.
const { Buffer } = require('buffer');
const buf = Buffer.from([-1, 5]);
console.log(buf.readInt8(0));
// Prints: -1
console.log(buf.readInt8(1));
// Prints: 5
console.log(buf.readInt8(2));
// Throws ERR_OUT_OF_RANGE.
Метод Buffer.readUInt8() используется для считывания 8-разрядного целого числа без знака из буфера из a с определенным смещением.
Синтаксис:
Buffer.readInt8( offset )
Параметры: Этот метод принимает один параметр offset который представляет количество байтов, которые нужно пропустить перед началом чтения. Значение смещения находится между диапазоном 0 to buffer.length – 1. Его значение по умолчанию равно 0.
Return Value (Возвращаемое Значение): Этот метод возвращает 8-разрядное целое значение со знаком с заданным смещением.
Пример 1:
// Node.js program to demonstrate the
// buffer.readUInt8() method
const value = Buffer.from([ -2, 3 ]);
// Reads the first value
console.log(value.readInt8(0));
// Reads the second value
console.log(value.readInt8(1));
// Throws an error
console.log(value.readInt8(2));
Выход:
-2
3
RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range.
Пример 2:
// Node.js program to demonstrate the
// buffer.readUInt8() method
const obj = Buffer.from([ 0X52, 0X40, 0X78 ]);
// It returns the first value
console.log(obj.readUInt8(0));
// It returns the third value
console.log(obj.readUInt8(2));
const temp = Buffer.from("XYZ");
// It returns the ASCII value of capital 'X'
console.log(temp.readUInt8(0));
Выход:
82
120
88
Примечание: Целые числа, считываемые из буфера, показаны в виде двух дополнительных значений со знаком.
Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_readint8_offset