QtのCBORサポート
QtはCBORデータを扱うためのサポートを提供します。CBORはJSONで利用可能な型のスーパーセットですが、よりコンパクトなデータを保存するためのバイナリフォーマットです。
QtのCBORサポートは、CBORデータを解析、変更、保存するための使いやすいC++ APIを提供します。
CBORデータフォーマットの詳細はRFC 7049を参照してください。
概要
CBORは構造化データを保存するフォーマットです。CBORには3つの組み込み型グループがある:
- 基本型:整数、浮動小数点、ブーリアン、NULLなど。
- 文字列のような型:文字列とバイト配列
- コンテナ:配列とマップ
さらにCBORは、型の意味を拡張するための "タグ "を追加することができる。コンテナ型は基本型、文字列類似型、コンテナを含むことができる。
CBORクラス
QCborValueクラス
QCborValue 、任意のCBOR型を表す。また、QCborStreamReader とQCborStreamWriter オブジェクトの読み書きや、QCborArray とQCborMap を使ってメモリ上のオブジェクトを操作するためのシンプルなAPIも備えています。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 オブジェクトを含むことができます。QCborMap クラスは、QVariantMap 、QVariantMap 、QJsonObject への変換関数を持ちますが、QString だけでなく、任意の型のキーを持つことができます。
QCborStreamReaderクラス
QCborStreamReader クラスは、QIODevice 、QByteArray 、またはメモリへのポインタから CBOR データを読み込むための低レベル API です。QXmlStreamReader クラスと同様のAPIを備えています。
QCborStreamWriterクラス
QCborStreamWriter クラスは、CBOR データをQIODevice またはQByteArray に書き込むための低レベル 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形式のnon-constイテレータを提供します。 | |
QCborValueが解析エラーを報告するために使用する | |
QByteArrayまたはQIODevice上で動作する単純なCBORストリームデコーダ | |
一方向ストリーム上で動作する単純なCBORエンコーダ | |
CBORで値をカプセル化 |
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。