📜  Node.js Buffer.readBigInt64LE() 方法

📅  最后修改于: 2022-05-13 01:56:40.213000             🧑  作者: Mango

Node.js Buffer.readBigInt64LE() 方法

Buffer.readBigInt64LE() 方法用于从给定偏移量的缓冲区对象中读取 64 位大整数,并以小端序返回结果。

句法:

buffer.readBigInt64LE( offset )

参数:此方法接受指定缓冲区对象位置的单个参数偏移量。它表示开始读取之前要跳过的字节数。 offset 的值在0 到 buffer.length – 8的范围内。默认值为 0。

返回值:此方法在 Little endian 的指定偏移量处读取有符号的 64 位Big 整数

示例 1:

文件名:index.js

javascript
// Node.js program to demonstrate the
// buffer.readInt32LE() method
const buff = Buffer.from([0x00, 0x00,
    0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);
 
// Getting big integer value by
// using readBigInt64LE method
const value = buff.readBigInt64LE(0);
 
// Display the result
console.log("Big Integer :- " + value);


javascript
// Node.js program to demonstrate the
// buffer.readInt32LE() method
const buff = Buffer.from([0x00, 0x00,
    0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);
 
// Getting big integer value by
// using readBigInt64LE method
const value = buff.readBigInt64LE(1);
 
// Display the result
console.log("Big Integer :- " + value);


使用以下命令运行index.js文件:

node index.js

输出:

Big Integer :- -4294967296

示例 2:

文件名:index.js

javascript

// Node.js program to demonstrate the
// buffer.readInt32LE() method
const buff = Buffer.from([0x00, 0x00,
    0x00, 0x00, 0xff, 0xff, 0xff, 0xff]);
 
// Getting big integer value by
// using readBigInt64LE method
const value = buff.readBigInt64LE(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.readBigInt64LE (internal/buffer.js:128: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_readbigint64le_offset