<QtCborCommon>

<QtCborCommon> ヘッダーには、ストリーミング・クラス (QCborStreamReaderQCborStreamWriter) と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 4287によって改良されたRFC 3339に従ってフォーマットされた日付と時刻の文字列。これはQt::ISODateQt::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::Bigfloat5Decimalと似ているが、指数は2のべき乗である。
QCborKnownTags::COSE_Encrypt016RFC 8152(CBORObject Signing and Encryption)で規定されているEncrypt0 マップ。
QCborKnownTags::COSE_Mac017RFC 8152(CBORObject Signing and Encryption)で規定されているMac0 マップ。
QCborKnownTags::COSE_Sign118RFC 8152(CBORObject Signing and Encryption)で規定されているSign1 マップ。
QCborKnownTags::ExpectedBase64url21ストリームを JSON に変換する場合に、バイト配列を Base64url でエンコードすることを示す。
QCborKnownTags::ExpectedBase6422ストリームを JSON に変換する場合に、バイト配列を Base64 でエンコードすることを示します。
QCborKnownTags::ExpectedBase1623ストリームが JSON に変換される場合に、バイト配列が Base16 (hex) でエンコードされるべきであることを示します。
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 Object Signing and Encryption)で規定されているEncrypt マップ。
QCborKnownTags::COSE_Mac97RFC 8152(CBOR Object Signing and Encryption) で規定されているMac マップ。
QCborKnownTags::COSE_Sign98RFC 8152(CBORObject Signing and Encryption)で規定されるSign マップ。
QCborKnownTags::Signature55799このタグは、CBORストリームの一番外側のタグとして、ファイルヘッダとして使用できる。

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

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

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

QCborTagQCborStreamWriter::append(QCborTag)、QCborStreamReader::isTag()、QCborStreamReader::toTag()、QCborValue::isTag()、QCborValue::tag()も参照

enum class QCborSimpleType

この列挙型は、CBORで使用可能な "単純型 "を含む。単純型の範囲は0から255で、それ以上の値を持たない型である。

現在、以下の値が知られています:

定数説明
QCborSimpleType::False20false "ブール値。
QCborSimpleType::True21true "ブール値。
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タグは64ビットの数値で、一般的なCBOR型に付加され、さらなる意味付けを行う。QCborTagは、QCborKnownTags にある列挙から構築されるか、数値表現を提供することで直接構築される。

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

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

QCborKnownTagsQCborStreamWriter::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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。