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

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

buf.writeDoubleBE(value[, offset])

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

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

import { Buffer } from 'buffer';

const buf = Buffer.allocUnsafe(8);

buf.writeDoubleBE(123.456, 0);

console.log(buf);
// Prints: <Buffer 40 5e dd 2f 1a 9f be 77>
const { Buffer } = require('buffer');

const buf = Buffer.allocUnsafe(8);

buf.writeDoubleBE(123.456, 0);

console.log(buf);
// Prints: <Buffer 40 5e dd 2f 1a 9f be 77>

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

Синтаксис:

Buffer.writeDoubleBE( value, offset )

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

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

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

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

Пример 1:

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

// Writing 64bits or 8 bytes double values
// to the buffer and printing returned
// value to console
console.log(buf.writeDoubleBE(123.123, 0));
console.log(buf.writeDoubleBE(166.089, 8));
console.log(buf.writeDoubleBE(231.678, 16));
console.log(buf.writeDoubleBE(341.781, 24));

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

Выход:

8
16
24
32
<Buffer 40 5e c7 df 3b 64 5a 1d 40 64 c2 d9 16 87 2b
02 40 6c f5 b2 2d 0e 56 04 40 75 5c 7e f9 db 22 d1>

Пример 2:

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

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

// Writing 64 bits or 8 bytes double values
// to the buffer and printing returned
// value to console
console.log(buf.writeDoubleBE(219.098, 0));
console.log(buf.writeFloatBE(169.096, 8));

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

Выход:

Before writing into buffer:
<Buffer f8 02 ff bc f8 01 00 00 f8 02 ff bc f8 01 00 00>
8
12
After writing into buffer:
<Buffer 40 6b 63 22 d0 e5 60 42 43 29 18 93 f8 01 00 00>

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

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