Node.js – v8.deserializer.readValue() 方法

V8。deserializer.readValue()方法用于反序列化保存在内部缓冲区中的 JavaScript 值,然后将其返回给用户或系统。

语法

v8.deserializer.readValue()

参数

创建一个名为“readValue.js”的文件并复制以下代码片段。创建文件后,使用命令“node readValue.js”运行此代码。

示例 1

创建一个名为“readValue.js”的文件并复制以下代码片段。创建文件后,使用命令“node readValue.js”运行此代码。

// v8.serializer.readValue() 演示示例

// 导入 v8 模块
const v8 = require('v8');

// 定义序列化器对象
const serializer = new v8.Serializer();

// 将一些值写入内部缓冲区
console.log(serializer.writeValue('Welcome to nhooo'));

// 定义反序列化器对象
const deserializer = new
v8.Deserializer(serializer.releaseBuffer());

// 从内部缓冲区读取标头
console.log(deserializer.readValue());
输出结果
C:\home\node>> node readValue.js
true
Welcome to nhooo

示例 2

让我们再看一个例子

// v8.serializer.readValue() 演示示例

// 导入 v8 模块
const v8 = require('v8');

// 定义序列化器对象
const serializer = new v8.Serializer();
var buffer = '';

// 序列化输入值
function serialize(input_value) {
   serializer.writeValue(input_value);
   // 打印序列化值
   buffer = serializer.releaseBuffer();
   console.log(buffer);
   deserialize(buffer);
}

// 反序列化输入缓冲区
function deserialize(buffer) {
   // 定义反序列化器对象
   const deserializer = new v8.Deserializer(buffer);
   console.log(deserializer.readValue());
}

serialize('nhooo')
serialize(1234)
serialize('Hello')
输出结果
C:\home\node>> node readValue.js
<Buffer 22 0e 54 75 74 6f 72 69 61 6c 73 50 6f 69 6e 74>
nhooo
<Buffer 49 a4 13>
1234
<Buffer 22 05 48 65 6c 6c 6f>
Hello