<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::DateTimeString | 0 | RFC 3339 に準拠し、RFC 4287 によって精緻化された形式の日付および時刻の文字列です。これは、Qt::ISODate およびQt::ISODateWithMs と同じ形式です。 |
QCborKnownTags::UnixTime_t | 1 | 1970-01-01T00:00Z 以降に経過した秒数を数値で表したものです。 |
QCborKnownTags::PositiveBignum | 2 | 任意の長さの正の整数で、ネットワークバイト順のバイト配列としてエンコードされています。たとえば、数値264は、バイト値 0x01 に続いて 8 個のゼロバイトを含むバイト配列で表されます。 |
QCborKnownTags::NegativeBignum | 3 | 任意の長さの負の数は、その数の絶対値から 1 を引いた値としてエンコードされます。たとえば、バイト値 0x02 に続いて 8 つのゼロバイトを含むバイト配列は、-265- 1 を表します。 |
QCborKnownTags::Decimal | 4 | 10進小数は、2つの整数の配列としてエンコードされます。1つ目は10の累乗の指数、2つ目は整数部分の仮数です。値273.15は、配列[-2, 27315] としてエンコードされます。 |
QCborKnownTags::Bigfloat | 5 | 10進数と同様ですが、指数は2の累乗になります。 |
QCborKnownTags::COSE_Encrypt0 | 16 | RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているEncrypt0 マップ。 |
QCborKnownTags::COSE_Mac0 | 17 | RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されている `Mac0 ` マップ。 |
QCborKnownTags::COSE_Sign1 | 18 | RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されている `Sign1 ` マップ。 |
QCborKnownTags::ExpectedBase64url | 21 | ストリームが JSON に変換される場合、バイト配列は Base64url を使用してエンコードされることを示します。 |
QCborKnownTags::ExpectedBase64 | 22 | ストリームが JSON に変換される場合、バイト配列は Base64 を使用してエンコードされることを示します。 |
QCborKnownTags::ExpectedBase16 | 23 | ストリームが JSON に変換される場合、バイト配列は Base16 (16 進数) を使用してエンコードされることを示します。 |
QCborKnownTags::EncodedCbor | 24 | バイト配列に CBOR ストリームが含まれていることを示します。 |
QCborKnownTags::Url | 32 | 文字列に URL が含まれていることを示します。 |
QCborKnownTags::Base64url | 33 | 文字列に Base64url を使用してエンコードされたデータが含まれていることを示します。 |
QCborKnownTags::Base64 | 34 | 文字列に Base64 を使用してエンコードされたデータが含まれていることを示します。 |
QCborKnownTags::RegularExpression | 35 | 文字列に Perl 互換の正規表現パターンが含まれていることを示します。 |
QCborKnownTags::MimeMessage | 36 | 文字列に MIME メッセージ (RFC 2045 に基づく) が含まれていることを示します。 |
QCborKnownTags::Uuid | 37 | バイト配列に UUID が含まれていることを示します。 |
QCborKnownTags::COSE_Encrypt | 96 | RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているEncrypt マップ。 |
QCborKnownTags::COSE_Mac | 97 | RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているMac マップ。 |
QCborKnownTags::COSE_Sign | 98 | RFC 8152(CBOR オブジェクトの署名および暗号化)で規定されているSign マップ。 |
QCborKnownTags::Signature | 55799 | 解釈に変更はありません。このタグは、CBOR ストリームの最外層タグとして、ファイルヘッダーとして使用できます。 |
以下のタグは、デコード時にQCborValue によって解釈され、拡張 Qt タイプを持つオブジェクトを生成します。また、同じ拡張タイプをエンコードする際にも、これらのタグが使用されます。
| 定数 | 値 | 説明 |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | QDateTime |
QCborKnownTags::UnixTime_t | 1 | QDateTime (デコード時のみ) |
QCborKnownTags::Url | 32 | QUrl |
QCborKnownTags::Uuid | 37 | QUuid |
さらに、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::False | 20 | 「false」を表すブール値。 |
QCborSimpleType::True | 21 | ブール値の「true」。 |
QCborSimpleType::Null | 22 | 値がない(null)。 |
QCborSimpleType::Undefined | 23 | 値が欠落しているか削除されている状態。通常はエラーです。 |
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.