<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 4287によって改良されたRFC 3339に従ってフォーマットされた日付と時刻の文字列。これは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 | Decimalと似ているが、指数は2のべき乗である。 |
QCborKnownTags::COSE_Encrypt0 | 16 | RFC 8152(CBORObject Signing and Encryption)で規定されているEncrypt0 マップ。 |
QCborKnownTags::COSE_Mac0 | 17 | RFC 8152(CBORObject Signing and Encryption)で規定されているMac0 マップ。 |
QCborKnownTags::COSE_Sign1 | 18 | RFC 8152(CBORObject Signing and Encryption)で規定されているSign1 マップ。 |
QCborKnownTags::ExpectedBase64url | 21 | ストリームを JSON に変換する場合に、バイト配列を Base64url でエンコードすることを示す。 |
QCborKnownTags::ExpectedBase64 | 22 | ストリームを JSON に変換する場合に、バイト配列を Base64 でエンコードすることを示します。 |
QCborKnownTags::ExpectedBase16 | 23 | ストリームが JSON に変換される場合に、バイト配列が Base16 (hex) でエンコードされるべきであることを示します。 |
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 Object Signing and Encryption)で規定されているEncrypt マップ。 |
QCborKnownTags::COSE_Mac | 97 | RFC 8152(CBOR Object Signing and Encryption) で規定されているMac マップ。 |
QCborKnownTags::COSE_Sign | 98 | RFC 8152(CBORObject Signing and Encryption)で規定される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タグは64ビットの数値で、ジェネリックなCBOR型に付加され、さらに意味を持たせる。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 ()も参照してください 。
© 2025 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.