Qt中的CBOR支持
Qt为处理CBOR数据提供支持。CBOR是一种用于存储数据的二进制格式,其类型涵盖了JSON中的所有类型,但更为紧凑。
Qt中的CBOR支持提供了一个易于使用的C++ API,用于解析、修改和保存CBOR数据。
有关CBOR数据格式的更多详细信息,请参阅RFC 7049。
概述
CBOR是一种用于存储结构化数据的格式。它包含三组内置类型
- 基本类型:整数、浮点数、布尔型、null等。
- 字符串类似类型:字符串和字节数组
- 容器:数组和映射
此外,CBOR可以添加一个“标签”来扩展类型的含义。容器类型可以包含基本类型、字符串类似类型和容器。
CBOR类
QCborValue类
类 QCborValue 表示任何CBOR类型。它还提供了一个简单的API来读取和写入到 QCborStreamReader 和 QCborStreamWriter 对象,以及通过 QCborArray 和 QCborMap 在内存中操作这些对象。CborValue API简化了完整的CBOR数据类型,并且始终以 qint64 表示所有整数,以 double
表示所有浮点数。这意味着 QCborValue 无法表示超出 qint64 范围的CBOR整数值(-2^63 到 2^63-1)。在创建CBOR流时,可以通过 QCborValue::toCbor() 尝试写入更短的单精度和半精度浮点表示。
QCborArray类
类 QCborArray 用于存储 QCborValue 对象的数组。一个 QCborValue 对象可以包含一个 QCborArray 对象。它具有用于转换为和从 QVariantList、 QStringList 和 QJsonArray 的函数。
QCborMap类
QCborMap类用于存放QCborValue对象的映射。一个QCborValue对象可以包含一个QCborMap对象。它具有将数据转换为和从QVariantMap、QVariantDict和QJsonObject的函数,但它的键可以是任何类型,而不仅仅是QString。
QCborStreamReader类
QCborStreamReader类是一个低级API,用于从QIODevice、QByteArray或内存中的指针读取CBOR数据。它具有与QXmlStreamReader类相似的API。
QCborStreamWriter类
QCborStreamWriter类是一个低级API,用于将CBOR数据写入QIODevice或QByteArray。它具有与QXmlStreamWriter类相似的API。
另请参阅解析和显示CBOR数据、序列化转换器以及保存和加载游戏。
用于存放CBOR元素数组 | |
QCborArray::ConstIterator类为QCborArray提供了一个STL风格的不变迭代器 | |
QCborArray::Iterator类为QCborArray提供了一个STL风格的非不变迭代器 | |
用于存放可表示在CBOR中的关联容器 | |
QCborMap::ConstIterator类为QCborMap提供了一个STL风格的不变迭代器 | |
QCborMap::Iterator类为QCborMap提供了一个STL风格的非不变迭代器 | |
由QCborValue用于报告解析错误 | |
简单的CBOR流解码器,在QByteArray或QIODevice上操作 | |
简单的CBOR编码器,在一向流上操作 | |
封装CBOR中的值 |
© 2024 The Qt Company Ltd。包含在此处的文档贡献是各自所有者的版权。提供的文档符合自由软件基金会发布的GNU自由文档许可版本1.3的条款。Qt及其相应的标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。