该V8。deserializer.readRawBytes()方法用于从解串器的内部缓冲区读取原始字节。它基本上返回缓冲区而不反序列化它。输入参数“length”指的是在将原始字节写入同一内部缓冲区时传递的缓冲区长度。
v8.deserializer.readRawBytes(length)
它需要一个参数 -
length - 此参数接受传递给的缓冲区长度的输入。serializer.writeRawBytes()
创建一个名为“readRawBytes.js”的文件并复制以下代码片段。创建文件后,使用命令“node readRawBytes.js”运行此代码。
// v8.serializer.readRawBytes() 演示示例 // 导入 v8 模块 const v8 = require('v8'); // 初始化序列化器对象 const serializer = new v8.Serializer(); // 将数据写入内部缓冲区 serializer.writeRawBytes(v8.serialize(12345)); // 初始化序列化器对象 const deserializer = new v8.Deserializer(serializer.releaseBuffer()); // 从内部缓冲区读取原始字节数据 console.log(deserializer.readRawBytes(6));输出结果
C:\home\node>> node readRawBytes.js <Buffer ff 0d 49 f2 c0 01>
让我们再看一个例子
// v8.serializer.readRawBytes() 演示示例 // 导入 v8 模块 const v8 = require('v8'); // 初始化序列化器对象 const serializer = new v8.Serializer(); var buffer; // 将数据写入内部缓冲区 function writeRawBytes(data, len) { serializer.writeRawBytes(v8.serialize(data)); buffer = serializer.releaseBuffer(); console.log("Data written & Retrieved :") console.log(buffer) readRawBytes(len); } // 从内部缓冲区读取原始字节数据 function readRawBytes(len) { const deserializer = new v8.Deserializer(buffer); console.log(deserializer.readRawBytes(len)); } writeRawBytes(9876, 6) writeRawBytes('Welcome to nhooo', 29) writeRawBytes(12345, 6)输出结果
C:\home\node>> node readRawBytes.js Data written & Retrieved : <Buffer ff 0d 49 a8 9a 01> <Buffer ff 0d 49 a8 9a 01> Data written & Retrieved : <Buffer ff 0d 22 19 57 65 6c 63 6f 6d 65 20 74 6f 20 54 75 74 6f 72 69 61 6c 73 50 6f 69 6e 74> <Buffer ff 0d 22 19 57 65 6c 63 6f 6d 65 20 74 6f 20 54 75 74 6f 72 69 61 6c 73 50 6f 69 6e 74> Data written & Retrieved : <Buffer ff 0d 49 f2 c0 01> <Buffer ff 0d 49 f2 c0 01>