📜  Node.js v8.Serializer.writeUint64() 方法

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

Node.js v8.Serializer.writeUint64() 方法

v8.Serializer.writeUint64() 方法是 v8.Serializer 模块的内置应用程序编程接口,用于通过拆分为高和低 32 位整数将原始 64 位整数值写入内部缓冲区。用于自定义 serializer._writeHostObject()method 内部。

句法:

v8.Serializer.writeUint64(Value_high, Value_low);

参数:此方法接受上面提到的两个参数,如下所述:

  • value_high:必填参数,指要写入内部缓冲区的64位整数的高32位。
  • value_low:必填参数,指要写入内部缓冲区的64位整数的低32位。

返回值:此方法不返回任何内容,而是将原始 64 位整数值写入内部缓冲区。

下面的例子说明了在 Node.js 中 v8.Serializer.writeUint64() 方法的使用:

示例 1:

文件名:index.js

// Accessing v8 module
const v8 = require('v8');
const serializer = new v8.Serializer();
  
// Calling v8.serializer.writeUint64() method
// Nothing is returned so, this should 
// print undefined
console.log(serializer.writeUint64(5783, 78374));
console.log(serializer.releaseBuffer());

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

node index.js

输出:

undefined

示例 2:

文件名:index.js

// Accessing v8 module
const v8 = require('v8');
const serializer = new v8.Serializer();
  
// Calling v8.serializer.writeUint64() 
console.log(serializer.releaseBuffer());
serializer.writeUint64(29698, 3847);
console.log(serializer.releaseBuffer());
  
// Trying to write two 64 bit numbers
// one after another
serializer.writeUint64(29698, 3847);
serializer.writeUint64(29698, 3847);
console.log(serializer.releaseBuffer());
  
// Reading after write
// Calling v8.serializer.writeUint64() 
serializer.writeUint64(6783, 348072);
  
// Calling v8.deserializer.readUint64() 
const deserializer = new 
    v8.Deserializer(serializer.releaseBuffer());
console.log(deserializer.readUint64());

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

node index.js

输出:




[ 6783, 348072 ]

参考: https://nodejs.org/api/v8.html#v8_serializer_writeuint64_hi_lo