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

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

buf.writeFloatBE(value[, offset])

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

Записывает valuebuf в указанный offset как big-endian. Поведение не определено, когда value это что-то иное, чем число JavaScript.

import { Buffer } from 'buffer';

const buf = Buffer.allocUnsafe(4);

buf.writeFloatBE(0xcafebabe, 0);

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

const buf = Buffer.allocUnsafe(4);

buf.writeFloatBE(0xcafebabe, 0);

console.log(buf);
// Prints: <Buffer 4f 4a fe bb>

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

Синтаксис:

Buffer.writeFloatBE( value, offset )

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

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

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

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

Пример 1:

// Node.js program to demonstrate the
// Buffer.writeFloatBE() method
	
// Allocating 16bytes buffer
const buf = Buffer.allocUnsafe(16);

// Writing 32bit or 4 byte floating point
// values to the buffer and printing
// returned value to console
console.log(buf.writeFloatBE(0xbabeface, 0));
console.log(buf.writeFloatBE(0x00000000, 4));
console.log(buf.writeFloatBE(0xffffffff, 8));
console.log(buf.writeFloatBE(0xcabcbcbc, 12));

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

Выход:

4
8
12
16
<Buffer 4f 3a be fb 00 00 00 00 4f 80 00 00 4f 4a bc bd> 

Пример 2:

// Node.js program to demonstrate the
// Buffer.writeFloatBE() method
	
// Allocating 8bytes buffer
const buf = Buffer.allocUnsafe(8);

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

// Writing 32bits or 4 bytes floating
// point values to the buffer and
// printing returned value to console
console.log(buf.writeFloatBE(0xbabebabe, 0));
console.log(buf.writeFloatBE(0xdecade20, 4));

// Printing the buffer after writing into buffer
console.log("After writing into buffer:");
console.log(buf);

Выход:

Before writing into buffer: <Buffer 00 00 00 00 00 00 00 00> 4
8 After writing into buffer: <Buffer 4f 3a be bb 4f 5e ca de> 

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

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