You are currently viewing Node.js Buffer | Метод Buffer.readInt8()

Node.js Buffer | Метод Buffer.readInt8()

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