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

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

buf.writeInt8(value[, offset])

ВерсияИзменения
v10.0.0Удалено noAssert, и больше нет неявного принуждения к смещению uint32.
v0.5.0Добавлено в: v0.5.0
  • value <целое число> Число, в которое нужно записать buf.
  • offset <целое число> Количество байтов, которые необходимо пропустить перед началом записи. 
  • Должен удовлетворить 0 <= offset <= buf.length - 1
  • По умолчанию: 0.
  • Возвращает: <целое число> offset плюс количество записанных байтов.

Пишет valuebuf на указанный offset адрес . value должно быть допустимым 8-разрядным целым числом со знаком. Поведение не определено, если value это что-либо иное, чем 8-разрядное целое число со знаком.

value интерпретируется и записывается как целое число со знаком дополнения двойки.

import { Buffer } from 'buffer';

const buf = Buffer.allocUnsafe(2);

buf.writeInt8(2, 0);
buf.writeInt8(-2, 1);

console.log(buf);
// Prints: <Buffer 02 fe>
const { Buffer } = require('buffer');

const buf = Buffer.allocUnsafe(2);

buf.writeInt8(2, 0);
buf.writeInt8(-2, 1);

console.log(buf);
// Prints: <Buffer 02 fe>

Метод Buffer.writeInt8() представляет собой встроенный интерфейс прикладного программирования класса Buffer в модуле Buffer, который используется для записи значения в выделенный буфер с указанным смещением.

Синтаксис:

Buffer.writeInt8( value, offset )

Параметры: Этот метод принимает два параметра, как указано выше и описано ниже:

  • value (ценность): Этот параметр указывает число или значение, которое должно быть записано в буфер. Поведение не определено, если значение не является целочисленным значением.
  • offset (смещение): Он определяет количество байтов, которое нужно пропустить перед началом записи, или просто обозначает индекс в буфере. Значение смещения лежит 0 <= offset <= Buffer.length – 1 его значение по умолчанию равно 0.

Возвращаемое Значение: Этот метод возвращает целое значение, представляющее собой сумму смещения и количества записанных байтов.

Ниже приведены примеры, иллюстрирующие использование метода Buffer.writeInt8() в Node.js:

Пример 1:

// Node.js program to demonstrate the
// Buffer.writeInt8() method
	
// Allocating buffer of size 4
const buf = Buffer.allocUnsafe(4);

// Writing 8 bit numbers to its
// specified offset and printing
// returned value to console
console.log(buf.writeInt8(20, 0));
console.log(buf.writeInt8(-128, 1));
console.log(buf.writeInt8(-3, 2));
console.log(buf.writeInt8(127, 3));

// Printing buffer to console
console.log(buf);

Выход:

1
2
3
4
<Buffer 14 80 fd 7f>

Пример 2:

// Node.js program to demonstrate the
// Buffer.writeInt8() method
	
// Allocating buffer of size 2
const buf = Buffer.allocUnsafe(2);

// Printing the buffer before writing into it
console.log("Before writing into buffer:");
console.log(buf);

// Writing 8 bit signed integers
console.log(buf.writeInt8(96, 0));
console.log(buf.writeInt8(-69, 1));

// Printing buffer after writing
// 8 bit signed integers in it.
console.log("After writing into buffer:");
console.log(buf);

Выход:

Before writing into buffer:
<Buffer 98 98gt;
1
2
After writing into buffer:
<Buffer 60 bb>

Примечание: Вышеуказанная программа будет скомпилирована и запущена с помощью node index.js

Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_writeint8_value_offset