Qt における CBOR のサポート
Qt は、CBOR データの処理をサポートしています。CBOR は、JSON で利用可能な型をすべて包含しつつ、よりコンパクトな形式でデータを格納するためのバイナリ形式です。
Qt の CBOR サポートは、CBOR データの解析、変更、保存を行うための使いやすい C++ API を提供します。
CBOR データ形式の詳細については、RFC 7049 を参照してください。
概要
CBORは、構造化データを格納するためのフォーマットです。これには、3つのグループの組み込み型があります。
- 基本型:整数、浮動小数点数、ブール値、null など
- 文字列のような型:文字列およびバイト配列
- コンテナ:配列およびマップ
さらに、CBORでは「タグ」を追加して型の意味を拡張することができます。コンテナ型には、基本型、文字列のような型、およびコンテナを格納することができます。
CBOR クラス
QCborValue クラス
QCborValue クラスは、あらゆるCBOR型を表します。また、QCborStreamReader およびQCborStreamWriter オブジェクトの読み書きを行うためのシンプルなAPIを備えており、QCborArray およびQCborMap の助けを借りて、メモリ内のそのようなオブジェクトを操作することもできます。 CborValue APIは、完全なCBORデータ型から簡略化されたものであり、すべての整数をqint64 として、すべての浮動小数点をdouble として常に表現します。これは、QCborValue が、qint64 の範囲(-2^63から2^63-1)外のCBOR整数値を表現できないことを意味します。 CBORストリームを作成する際、QCborValue::toCbor() を設定することで、より短い単精度および半精度浮動小数点表現での書き込みを試みることができます。
QCborArray クラス
QCborArray クラスは、QCborValue オブジェクトの配列を保持するために使用されます。QCborValue オブジェクトは、QCborArray オブジェクトを含むことができます。このクラスには、QVariantList 、QStringList 、QJsonArray との間で変換を行うための関数が用意されています。
QCborMap クラス
QCborMap クラスは、QCborValue オブジェクトのマップを保持するために使用されます。QCborValue オブジェクトは、QCborMap オブジェクトを含むことができます。このクラスには、QVariantMap 、QVariantHash 、およびQJsonObject との相互変換を行う関数が用意されていますが、キーはQString だけでなく、任意の型を指定できます。
QCborStreamReader クラス
QCborStreamReader クラスは、QIODevice 、QByteArray 、またはメモリへのポインタからCBORデータを読み取るための低レベルAPIです。このクラスは、QXmlStreamReader クラスと同様のAPIを備えています。
QCborStreamWriter クラス
QCborStreamWriter クラスは、QIODevice またはQByteArray にCBORデータを書き込むための低レベルAPIです。このクラスのAPIは、QXmlStreamWriter クラスのAPIと類似しています。
「CBORデータの解析と表示」、「シリアライゼーションコンバータ」、および「ゲームの保存と読み込み」も参照してください 。
CBOR要素の配列を保持するために使用されます | |
QCborArray::ConstIterator クラスは、QCborArray 用の STL スタイルの const イテレータを提供します | |
QCborArray::Iterator クラスは、QCborArray 用の STL スタイルの非 const イテレータを提供します | |
CBOR で表現可能な連想コンテナを保持するために使用されます | |
QCborMap::ConstIterator クラスは、QCborMap 用の STL スタイルの const イテレータを提供します | |
QCborMap::Iterator クラスは、QCborMap 用の STL スタイルの非 const イテレータを提供します | |
QCborValue が解析エラーを報告するために使用されます | |
QByteArray または QIODevice のいずれかに対して動作する、シンプルな CBOR ストリームデコーダ | |
一方向ストリーム上で動作するシンプルなCBORエンコーダ | |
値を CBOR でカプセル化します |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.