NodeJS - v8.deserializer.readUnit32() 方法



类 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