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

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

buf.readBigUInt64LE([offset])

ВерсияИзменения
v12.19.0Эта функция также доступна как buf.readBigUint64LE().
v12.0.0, v10.20.0Добавлено в: v12.0.0, v10.20.0
  • offset <integer> Количество байтов, которые необходимо пропустить перед началом чтения. 
  • Должно удовлетворять: 0 <= offset <= buf.length - 8
  • По умолчанию: 0.
  • Возвращает: <bigint>

Считывает 64-разрядное целое число без знака с малым концом из buf указанного offset.

const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);

console.log(buf.readBigUInt64LE(0));
// Prints: 18446744069414584320n

Метод Buffer.readBigUInt64LE() используется для считывания 64-разрядного целого числа без знака из объекта буфера с заданным смещением и возвращает результат в малом конце.

Синтаксис:

buffer.readBigInt64LE( offset )

Параметры: Этот метод принимает один параметр смещение который определяет положение объекта буфера. Он представляет собой количество байтов, которые необходимо пропустить перед началом чтения. Значение смещения лежит в пределах диапазона 0 to buffer.length – 8. Значение по умолчанию равно 0.
Return value (Возвращаемое значение): Этот метод считывает 64-разрядную версию без знака целое число при указанном смещении в малом конце.

Пример 1:
Имя файла: index.js

// Node.js program to demonstrate the
// buffer.readBigUInt64LE() method
const buff = Buffer.from([0x00, 0x00,
	0x0e, 0x00, 0xff, 0xff, 0xff, 0xff]);

// Getting big integer value by
// using readBigUInt64LE method
const value = buff.readBigUInt64LE(0);

// Display the result
console.log("Big Integer :- " + value);

Запустите index.js файл с помощью следующей команды:

node index.js

Выход:

Big Integer :- 18446744069415501824

Пример 2:
Имя файла: index.js

// Node.js program to demonstrate the
// buffer.readBigUInt64LE() method
const buff = Buffer.from([0x00, 0x00,
	0x0e, 0x00, 0xff, 0xff, 0xff, 0xff]);

// Getting big integer value by
// using readBigUInt64LE method
const value = buff.readBigUInt64LE(1);

// Display the result
console.log("Big Integer :- " + value);

Запустите index.js файл с помощью следующей команды:

node index.js

Выход:

internal/buffer.js:77
  throw new ERR_OUT_OF_RANGE(type || 'offset',
  ^

RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and
 <= 0. Received 1
    at boundsError (internal/buffer.js:77:9)
    at Buffer.readBigUInt64LE (internal/buffer.js:88:5)
    at Object. (F:\java\GFG.js:7:20)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'ERR_OUT_OF_RANGE'
}

В приведенном выше примере показана ошибка, вызванная тем, что ее параметры не находятся в допустимом диапазоне.

Ссылка: https://nodejs.org/dist/latest-v12.x/docs/api/buffer.html#buffer_buf_readbiguint64le_offset