<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 ()も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。