类 v8.deserializer 的 NodeJS v8.deserializer.readUnit32() 方法用于读取原始的 32 位无符号整数并返回它。
Unit32 是一个 32 位无符号整数,最小值为 0,最大值为 4,294,967,295(含)。
此方法主要在自定义 deserializer._readHostObject() 内部使用,用于读取某种宿主对象。
语法
以下是NodeJS v8.deserializer.readUnit32()方法的语法 -
v8.deserializer.readUnit32()
参数
此方法不接受任何参数。
返回值
此方法从缓冲区中读取并返回原始的 32 位无符号整数值。
例在下面的示例中,我们尝试使用 v8.serializer.writeUnit32() 方法将原始的 32 位无符号整数写入内部缓冲区。然后,我们尝试使用 v8.deserializer.readUnit32() 方法读取内部缓冲区中存在的原始 32 位无符号整数。
const v8 = require('v8');
const serializer = new v8.Serializer();
// Calling v8.serializer.writeUint32()
serializer.writeUint32(98764567);
// Calling v8.deserializer.readUint32()
const deserializer = new v8.Deserializer(serializer.releaseBuffer());
console.log(deserializer.readUint32());
输出
如果我们编译并运行上述代码,输出如下。
98764567
例
以下是 v8.deserializer 类的 readUnit32() 方法的另一个示例。
const v8 = require('v8');
const serializer = new v8.Serializer();
console.log(serializer.releaseBuffer());
serializer.writeUint32(876543);
buffer = serializer.releaseBuffer();
console.log("Internal Buffer data is:");
console.log(buffer);
const deserializer = new v8.Deserializer(buffer);
console.log("After deserializing, the data: ");
console.log(deserializer.readUint32());
输出
<Buffer >
Internal Buffer data is:
<Buffer ff bf 35>
After deserializing, the data:
876543
Internal Buffer data is:
<Buffer ff bf 35>
After deserializing, the data:
876543