• Node.js Video Tutorials

NodeJS v8.deserializer.readRawBytes() 方法



v8.deserializer 类的 NodeJs v8.deserializer.readRawBytes() 方法 用于从反序列化器的内部缓冲区读取原始字节。此方法基本上返回内部缓冲区,无需对其进行反序列化。

语法

以下是 NodeJS v8.deserializer.readRawBytes() 方法 的语法:

v8.deserializer.readRawBytes(length)

参数

此方法只接受一个参数。

  • length − 此参数指定要从反序列化器内部缓冲区读取的缓冲区长度。

返回值

此方法读取反序列化器内部缓冲区的原始字节。

如果指定了 length 参数,它将返回传递给此方法的缓冲区长度。

示例

在下面的示例中,我们尝试使用 v8.serializer.writeRawBytes() 方法将原始字节写入序列化器的内部缓冲区。然后,我们尝试使用 v8.deserializer.readRawBytes() 方法从反序列化器的内部缓冲区读取原始缓冲区数据。

const v8 = require('v8');
const serializer = new v8.Serializer();
serializer.writeRawBytes(v8.serialize(32435));
let buffer = serializer.releaseBuffer();  
const deserializer = new v8.Deserializer(buffer);
console.log(deserializer.readRawBytes());

输出

以下是上述程序的输出:

<Buffer ff 0d 49 e6 fa 03>

示例

在下面的示例中,我们将长度作为参数传递给 readRawBytes() 方法。

const v8 = require('v8');
const serializer = new v8.Serializer();
serializer.writeRawBytes(v8.serialize(32435));
let buffer = serializer.releaseBuffer();
console.log(buffer); 
const deserializer = new v8.Deserializer(buffer);
console.log(deserializer.readRawBytes(2));

输出

正如我们在下面的输出中看到的,readRawBytes() 方法只从反序列化器的内部缓冲区返回了 2 个原始字节,因为传递的长度为 2。

<Buffer ff 0d 49 e6 fa 03>
<Buffer ff 0d>
nodejs_v8_module.htm
广告