Qt中的CBOR支持

Qt为处理CBOR数据提供支持。CBOR是一种用于存储数据的二进制格式,其类型涵盖了JSON中的所有类型,但更为紧凑。

Qt中的CBOR支持提供了一个易于使用的C++ API,用于解析、修改和保存CBOR数据。

有关CBOR数据格式的更多详细信息,请参阅RFC 7049

概述

CBOR是一种用于存储结构化数据的格式。它包含三组内置类型

  • 基本类型:整数、浮点数、布尔型、null等。
  • 字符串类似类型:字符串和字节数组
  • 容器:数组和映射

此外,CBOR可以添加一个“标签”来扩展类型的含义。容器类型可以包含基本类型、字符串类似类型和容器。

CBOR类

QCborValue类

QCborValue 表示任何CBOR类型。它还提供了一个简单的API来读取和写入到 QCborStreamReaderQCborStreamWriter 对象,以及通过 QCborArrayQCborMap 在内存中操作这些对象。CborValue API简化了完整的CBOR数据类型,并且始终以 qint64 表示所有整数,以 double 表示所有浮点数。这意味着 QCborValue 无法表示超出 qint64 范围的CBOR整数值(-2^63 到 2^63-1)。在创建CBOR流时,可以通过 QCborValue::toCbor() 尝试写入更短的单精度和半精度浮点表示。

QCborArray类

QCborArray 用于存储 QCborValue 对象的数组。一个 QCborValue 对象可以包含一个 QCborArray 对象。它具有用于转换为和从 QVariantListQStringListQJsonArray 的函数。

QCborMap类

QCborMap类用于存放QCborValue对象的映射。一个QCborValue对象可以包含一个QCborMap对象。它具有将数据转换为和从QVariantMapQVariantDictQJsonObject的函数,但它的键可以是任何类型,而不仅仅是QString

QCborStreamReader类

QCborStreamReader类是一个低级API,用于从QIODeviceQByteArray或内存中的指针读取CBOR数据。它具有与QXmlStreamReader类相似的API。

QCborStreamWriter类

QCborStreamWriter类是一个低级API,用于将CBOR数据写入QIODeviceQByteArray。它具有与QXmlStreamWriter类相似的API。

另请参阅解析和显示CBOR数据序列化转换器以及保存和加载游戏

QCborArray

用于存放CBOR元素数组

QCborArray::ConstIterator

QCborArray::ConstIterator类为QCborArray提供了一个STL风格的不变迭代器

QCborArray::Iterator

QCborArray::Iterator类为QCborArray提供了一个STL风格的非不变迭代器

QCborMap

用于存放可表示在CBOR中的关联容器

QCborMap::ConstIterator

QCborMap::ConstIterator类为QCborMap提供了一个STL风格的不变迭代器

QCborMap::Iterator

QCborMap::Iterator类为QCborMap提供了一个STL风格的非不变迭代器

QCborParserError

由QCborValue用于报告解析错误

QCborStreamReader

简单的CBOR流解码器,在QByteArray或QIODevice上操作

QCborStreamWriter

简单的CBOR编码器,在一向流上操作

QCborValue

封装CBOR中的值

© 2024 The Qt Company Ltd。包含在此处的文档贡献是各自所有者的版权。提供的文档符合自由软件基金会发布的GNU自由文档许可版本1.3的条款。Qt及其相应的标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。