<QtCborCommon>

<QtCborCommon>ヘッダーには、ストリーミングクラス(QCborStreamReader およびQCborStreamWriter )とQCborValue に共通する定義が含まれています。詳細...

Header: #include <QtCborCommon>

型

enum class QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, Decimal, …, Signature }
enum class QCborSimpleType { False, True, Null, Undefined }
enum class QCborTag { }

詳細な説明

QCborErrorも参照してください 。

型のドキュメント

enum class QCborKnownTags

この列挙型には、Qtの実装時点で既知のCBORタグのリストが含まれています。このリストは完全なものではなく、RFCで規定されているタグ、またはQtの実装で具体的に使用されているタグのみが含まれています。

正式なリストは、IANA によってCBOR タグレジストリで管理されています。

定数値説明
QCborKnownTags::DateTimeString0RFC 3339 に準拠し、RFC 4287 によって精緻化された形式の日付および時刻の文字列です。これは、Qt::ISODate およびQt::ISODateWithMs と同じ形式です。
QCborKnownTags::UnixTime_t11970-01-01T00:00Z 以降に経過した秒数を数値で表したものです。
QCborKnownTags::PositiveBignum2任意の長さの正の整数で、ネットワークバイト順のバイト配列としてエンコードされています。たとえば、数値264は、バイト値 0x01 に続いて 8 個のゼロバイトを含むバイト配列で表されます。
QCborKnownTags::NegativeBignum3任意の長さの負の数は、その数の絶対値から 1 を引いた値としてエンコードされます。たとえば、バイト値 0x02 に続いて 8 つのゼロバイトを含むバイト配列は、-265- 1 を表します。
QCborKnownTags::Decimal410進小数は、2つの整数の配列としてエンコードされます。1つ目は10の累乗の指数、2つ目は整数部分の仮数です。値273.15は、配列[-2, 27315] としてエンコードされます。
QCborKnownTags::Bigfloat510進数と同様ですが、指数は2の累乗になります。
QCborKnownTags::COSE_Encrypt016RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているEncrypt0 マップ。
QCborKnownTags::COSE_Mac017RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されている `Mac0 ` マップ。
QCborKnownTags::COSE_Sign118RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されている `Sign1 ` マップ。
QCborKnownTags::ExpectedBase64url21ストリームが JSON に変換される場合、バイト配列は Base64url を使用してエンコードされることを示します。
QCborKnownTags::ExpectedBase6422ストリームが JSON に変換される場合、バイト配列は Base64 を使用してエンコードされることを示します。
QCborKnownTags::ExpectedBase1623ストリームが JSON に変換される場合、バイト配列は Base16 (16 進数) を使用してエンコードされることを示します。
QCborKnownTags::EncodedCbor24バイト配列に CBOR ストリームが含まれていることを示します。
QCborKnownTags::Url32文字列に URL が含まれていることを示します。
QCborKnownTags::Base64url33文字列に Base64url を使用してエンコードされたデータが含まれていることを示します。
QCborKnownTags::Base6434文字列に Base64 を使用してエンコードされたデータが含まれていることを示します。
QCborKnownTags::RegularExpression35文字列に Perl 互換の正規表現パターンが含まれていることを示します。
QCborKnownTags::MimeMessage36文字列に MIME メッセージ (RFC 2045 に基づく) が含まれていることを示します。
QCborKnownTags::Uuid37バイト配列に UUID が含まれていることを示します。
QCborKnownTags::COSE_Encrypt96RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているEncrypt マップ。
QCborKnownTags::COSE_Mac97RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているMac マップ。
QCborKnownTags::COSE_Sign98RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているSign マップ。
QCborKnownTags::Signature55799解釈に変更はありません。このタグは、CBOR ストリームの最外層タグとして、ファイルヘッダーとして使用できます。

以下のタグは、デコード時にQCborValue によって解釈され、拡張 Qt タイプを持つオブジェクトを生成します。また、同じ拡張タイプをエンコードする際にも、これらのタグが使用されます。

定数値説明
QCborKnownTags::DateTimeString0QDateTime
QCborKnownTags::UnixTime_t1QDateTime (デコード時のみ)
QCborKnownTags::Url32QUrl
QCborKnownTags::Uuid37QUuid

さらに、QByteArray を含むQCborValue が、ExpectedBase64url 、ExpectedBase64 、またはExpectedBase16 のいずれかを使用してタグ付けされている場合、QCborValue は JSON への変換時に期待されるエンコーディングを使用します(QCborValue::toJsonValue を参照)。

QCborTag 、QCborStreamWriter::append(QCborTag)、QCborStreamReader::isTag()、QCborStreamReader::toTag()、QCborValue::isTag()、およびQCborValue::tag()も参照してください 。

enum class QCborSimpleType

この列挙型には、CBOR で使用可能な「単純型」が含まれています。単純型の範囲は 0 から 255 までであり、これらはそれ以上の値を持たない型です。

現在、以下の値が確認されています:

定数値説明
QCborSimpleType::False20「false」を表すブール値。
QCborSimpleType::True21ブール値の「true」。
QCborSimpleType::Null22値がない(null)。
QCborSimpleType::Undefined23値が欠落しているか削除されている状態。通常はエラーです。

Qt CBOR API は、上記のいずれかであるか、その他の値であるかを問わず、あらゆる単純型のエンコードおよびデコードをサポートしています。

アプリケーションは、対応する仕様が公開されている場合にのみ、それ以外の値を使用すべきです。そうしないと、リモート側での解釈や検証に失敗する可能性があります。値 24 から 31 は予約済みであり、使用してはなりません。

現在の正式なリストは、IANA によってSimple Values レジストリで管理されています。

QCborStreamWriter::append(QCborSimpleType)、QCborStreamReader::isSimpleType()、QCborStreamReader::toSimpleType()、QCborValue::isSimpleType()、およびQCborValue::toSimpleType()も参照してください 。

enum class QCborTag

この列挙型には列挙値が含まれておらず、CBORタグへの型安全なアクセスを提供するためにのみ使用されます。

CBORタグは、汎用CBOR型に付加され、さらなる意味論的な意味を与える64ビットの数値です。QCborTagは、QCborKnownTags にある列挙型から生成することも、数値表現を直接指定して生成することもできます。

たとえば、以下は、タグ 2 でタグ付けされたバイト配列を含む `QCborValue ` を作成します。

QCborValue(QCborTag(2), QByteArray("\x01\0\0\0\0\0\0\0\0", 9));

関連項目: QCborKnownTags 、QCborStreamWriter::append(QCborTag)、QCborStreamReader::isTag()、QCborStreamReader::toTag()、QCborValue::isTag()、およびQCborValue::tag()。

© 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.