• Node.js Video Tutorials

NodeJS v8.serializer.writeUint64() 方法



v8.serializer 类中的 NodeJS v8.serializer.writeUint64() 方法 用于将原始 64 位无符号整数写入内部缓冲区。64 位无符号整数将被分成高 32 位和低 32 位部分。

Uint64 是一种 64 位无符号整数,其最小值为 0,最大值为 18,446,744,073,709,551,615 (2^64)-1(包含)。

此方法主要用于自定义 serializer._writeHostObject() 内部,该方法用于写入某种主机对象。

语法

以下是 NodeJS v8.serializer.writeUint64() 方法的语法:

v8.serializer.writeUint64(high, low)

参数

此方法接受两个参数。下面描述了这些参数。

  • high - 将写入内部缓冲区的 64 位整数的高 32 位。

  • low - 将写入内部缓冲区的 64 位整数的低 32 位。

返回值

此方法返回 undefined,而不是将传递的值(原始 64 位整数)写入内部缓冲区。

示例

在下面的示例中,我们尝试使用 NodeJS v8.serializer.writeUint64() 方法将原始 64 位无符号整数写入内部缓冲区。

const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.writeUint64(1234, 5678));

输出

正如我们在下面的输出中看到的,NodeJS writeUint64() 方法返回 undefined,而不是将传递的值写入内部缓冲区。

undefined

示例

在下面的示例中,我们尝试将一个 64 位无符号整数写入内部缓冲区,该整数将被分成高 32 位和低 32 位部分。

const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.releaseBuffer());
serializer.writeUint64(123, 567);
console.log(serializer.releaseBuffer());

输出

<Buffer >
<Buffer b7 84 80 80 b0 0f>

示例

如果我们将多个 64 位无符号整数写入内部缓冲区,则这些整数将连续添加。

const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.releaseBuffer());
serializer.writeUint64(12, 56);
serializer.writeUint64(34, 78);
console.log(serializer.releaseBuffer());

输出

<Buffer >
<Buffer b8 80 80 80 c0 01 ce 80 80 80 a0 04>
nodejs_v8_module.htm
广告