- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中选择数据
- Node.js - MySQL where 条件
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 限制
- Node.js - MongoDB 连接
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
NodeJS v8.deserializer.readUint64() 方法
v8.deserializer 类中的 NodeJS v8.deserializer.readUint64() 方法 用于读取一个原始的 64 位无符号整数,并将其作为数组返回,其中包含其高位和低位值,如下所示:[hi,lo]。
Unit64 是一个 64 位无符号整数,其最小值为 0,最大值为 18,446,744,073,709,551,615 (2^64)-1(包含)。
我们通过将 64 位整数拆分为高 32 位整数和低 32 位整数,将其写入内部缓冲区(使用 writeUnit64() 方法)。因此,在读取(使用 readUnit64() 方法)时,hi 和 lo 都将包含 32 位无符号整数。如果未写入 lo 值,则 readWrite() 方法将读取并将其返回为 0。
语法
以下是 NodeJS v8.deserializer.readUint64() 方法 的语法:
v8.deserializer.readUint64()
参数
此方法不接受任何参数。
返回值
此方法读取一个原始的 64 位无符号整数,并将其以数组 [hi,lo] 的形式返回,其中包含两个 32 位无符号整数条目。
示例
在以下示例中,我们尝试使用 serializer.writeUnit64() 方法将原始 64 位无符号整数写入内部缓冲区。然后,我们尝试使用 deserializer.readUint64() 方法读取并返回内部缓冲区中存在的反序列化 64 位无符号整数。
const v8 = require('v8'); // Initializing the serializer object const serializer = new v8.Serializer(); // Writing a 64-bit integer value to the internal buffer serializer.writeUint64(3412, 87578); // Initializing the deserializer object const deserializer = new v8.Deserializer(serializer.releaseBuffer()); console.log(deserializer.readUint64());
输出
[ 3412, 87578 ]
示例
在示例中,我们使用 serializer.writeUint64() 方法将原始 64 位无符号整数写入内部缓冲区,并使用 serializer.releaseBuffer() 方法返回序列化后的内部缓冲区。
然后,我们使用 deserializer.readUint64() 方法读取并返回内部缓冲区中存在的反序列化 64 位整数。
const v8 = require('v8'); // Initializing the serializer object const serializer = new v8.Serializer(); let buffer; // Writing a 64-bit integer value to the internal buffer writeUint64 = (lo, hi) => { serializer.writeUint64(lo, hi) buffer = serializer.releaseBuffer() console.log(buffer) readUint64(buffer) console.log("----------------------------------") } readUint64 = (buffer) => { const deserializer = new v8.Deserializer(buffer); console.log(deserializer.readUint64(buffer)); } writeUint64(45875, 09878) writeUint64(42134, 2431)
输出
<Buffer 96 cd 80 80 b0 e6 2c> [ 45875, 9878 ] ---------------------------------- <Buffer ff 92 80 80 e0 92 29> [ 42134, 2431 ] ----------------------------------
示例
如果未将任何值作为 lo 参数传递,则 readUnit64() 方法将读取并将其返回为 0。
const v8 = require('v8'); // Initializing the serializer object const serializer = new v8.Serializer(); let buffer; // Writing a 64-bit integer value to the internal buffer writeUint64 = (lo, hi) => { serializer.writeUint64(lo, hi) buffer = serializer.releaseBuffer() console.log(buffer) readUint64(buffer) console.log("----------------------------------") } readUint64 = (buffer) => { const deserializer = new v8.Deserializer(buffer); console.log(deserializer.readUint64(buffer)); } writeUint64(1456) writeUint64(0998)
输出
<Buffer 80 80 80 80 80 b6 01> [ 1456, 0 ] ---------------------------------- <Buffer 80 80 80 80 e0 7c> [ 998, 0 ] ----------------------------------