<QtCborCommon>
Der Header <QtCborCommon> enthält Definitionen, die sowohl für die Streaming-Klassen (QCborStreamReader und QCborStreamWriter) als auch für QCborValue gelten. Mehr...
| Header: | #include <QtCborCommon> |
Typen
| enum class | QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, Decimal, …, Signature } |
| enum class | QCborSimpleType { False, True, Null, Undefined } |
| enum class | QCborTag { } |
Siehe auch QCborError.
Typdokumentation
enum class QCborKnownTags
Diese Enumeration enthält eine Liste von CBOR-Tags, die zum Zeitpunkt der Qt-Implementierung bekannt waren. Diese Liste erhebt keinen Anspruch auf Vollständigkeit und enthält nur Tags, die entweder durch einen RFC abgesichert sind oder speziell von der Qt-Implementierung verwendet werden.
Die maßgebliche Liste wird von der IANA im CBOR-Tag-Register gepflegt.
| Konstante | Wert | Beschreibung |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | Eine Datums- und Zeitzeichenfolge, formatiert gemäß RFC 3339, ergänzt durch RFC 4287. Es handelt sich um dasselbe Format wie bei Qt::ISODate und Qt::ISODateWithMs. |
QCborKnownTags::UnixTime_t | 1 | Eine numerische Darstellung der seit dem 01.01.1970 00:00 Uhr (TZ) verstrichenen Sekunden. |
QCborKnownTags::PositiveBignum | 2 | Eine positive Zahl beliebiger Länge, kodiert als Byte-Array in Netzwerk-Byte-Reihenfolge. Beispielsweise wird die Zahl264 durch ein Byte-Array dargestellt, das den Byte-Wert 0x01 gefolgt von 8 Null-Bytes enthält. |
QCborKnownTags::NegativeBignum | 3 | Eine negative Zahl beliebiger Länge, kodiert als der Absolutwert dieser Zahl minus eins. Beispielsweise stellt ein Byte-Array, das den Byte-Wert 0x02 gefolgt von 8 Null-Bytes enthält, die Zahl-265 - 1 dar. |
QCborKnownTags::Decimal | 4 | Eine Dezimalzahl, kodiert als Array aus zwei Ganzzahlen: Die erste ist der Exponent der 10er-Potenz, die zweite die ganzzahlige Mantisse. Der Wert 273,15 würde als Array „ [-2, 27315] “ kodiert werden. |
QCborKnownTags::Bigfloat | 5 | Ähnlich wie bei „Decimal“, allerdings ist der Exponent eine Potenz von 2. |
QCborKnownTags::COSE_Encrypt0 | 16 | Eine „ Encrypt0 “-Zuordnung gemäß RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Mac0 | 17 | Eine „ Mac0 “-Zuordnung gemäß RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Sign1 | 18 | Eine „ Sign1 “-Zuordnung gemäß RFC 8152 (CBOR-Objektsignierung und -verschlüsselung). |
QCborKnownTags::ExpectedBase64url | 21 | Gibt an, dass das Byte-Array mit Base64url kodiert werden soll, wenn der Datenstrom in JSON konvertiert wird. |
QCborKnownTags::ExpectedBase64 | 22 | Gibt an, dass das Byte-Array mit Base64 kodiert werden soll, wenn der Stream in JSON konvertiert wird. |
QCborKnownTags::ExpectedBase16 | 23 | Gibt an, dass das Byte-Array mit Base16 (hex) kodiert werden soll, wenn der Stream in JSON konvertiert wird. |
QCborKnownTags::EncodedCbor | 24 | Gibt an, dass das Byte-Array einen CBOR-Stream enthält. |
QCborKnownTags::Url | 32 | Gibt an, dass die Zeichenkette eine URL enthält. |
QCborKnownTags::Base64url | 33 | Gibt an, dass die Zeichenkette Daten enthält, die mit Base64url kodiert sind. |
QCborKnownTags::Base64 | 34 | Gibt an, dass die Zeichenkette mit Base64 kodierte Daten enthält. |
QCborKnownTags::RegularExpression | 35 | Gibt an, dass die Zeichenkette ein Perl-kompatibles Muster für reguläre Ausdrücke enthält. |
QCborKnownTags::MimeMessage | 36 | Gibt an, dass die Zeichenkette eine MIME-Nachricht (gemäß RFC 2045) enthält. |
QCborKnownTags::Uuid | 37 | Gibt an, dass das Byte-Array eine UUID enthält. |
QCborKnownTags::COSE_Encrypt | 96 | Eine „ Encrypt “-Zuordnung gemäß RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Mac | 97 | Eine „ Mac “-Zuordnung gemäß RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Sign | 98 | Eine „ Sign “-Zuordnung gemäß RFC 8152 (CBOR-Objektsignierung und -verschlüsselung). |
QCborKnownTags::Signature | 55799 | Keine Änderung bei der Interpretation; dieses Tag kann als äußerstes Tag in einem CBOR-Stream als Datei-Header verwendet werden. |
Die folgenden Tags werden von „ QCborValue “ während der Dekodierung interpretiert und erzeugen Objekte mit erweiterten Qt-Typen; diese Tags werden bei der Kodierung derselben erweiterten Typen verwendet.
| Konstante | Wert | Beschreibung |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | QDateTime |
QCborKnownTags::UnixTime_t | 1 | QDateTime (nur bei der Dekodierung) |
QCborKnownTags::Url | 32 | QUrl |
QCborKnownTags::Uuid | 37 | QUuid |
Wenn zudem ein „ QCborValue “, der ein „ QByteArray “ enthält, mit einem der Tags „ ExpectedBase64url “, „ ExpectedBase64 “ oder „ ExpectedBase16 “ versehen ist, verwendet „ QCborValue “ bei der Konvertierung in JSON die erwartete Kodierung (siehe QCborValue::toJsonValue).
Siehe auch QCborTag, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag() und QCborValue::tag().
enum class QCborSimpleType
Diese Enumeration enthält die möglichen „Einfachen Typen“ für CBOR. Einfache Typen reichen von 0 bis 255 und sind Typen, die keinen weiteren Wert enthalten.
Derzeit sind folgende Werte bekannt:
| Konstante | Wert | Beschreibung |
|---|---|---|
QCborSimpleType::False | 20 | Ein boolescher Wert „false“. |
QCborSimpleType::True | 21 | Ein boolescher Wert „true“. |
QCborSimpleType::Null | 22 | Fehlender Wert (null). |
QCborSimpleType::Undefined | 23 | Fehlender oder gelöschter Wert, in der Regel ein Fehler. |
Die Qt-CBOR-API unterstützt die Kodierung und Dekodierung jedes einfachen Typs, sei es einer der oben genannten oder ein beliebiger anderer Wert.
Anwendungen sollten weitere Werte nur verwenden, wenn eine entsprechende Spezifikation veröffentlicht wurde; andernfalls kann die Interpretation und Validierung durch den Remote-Server fehlschlagen. Die Werte 24 bis 31 sind reserviert und dürfen nicht verwendet werden.
Die aktuell gültige Liste wird von der IANA im Simple Values-Register gepflegt.
Siehe auch QCborStreamWriter::append(QCborSimpleType), QCborStreamReader::isSimpleType(), QCborStreamReader::toSimpleType(), QCborValue::isSimpleType() und QCborValue::toSimpleType().
enum class QCborTag
Diese Enumeration enthält keine Aufzählung und dient ausschließlich dazu, einen typsicheren Zugriff auf ein CBOR-Tag zu ermöglichen.
CBOR-Tags sind 64-Bit-Zahlen, die generischen CBOR-Typen zugeordnet werden, um ihnen eine zusätzliche semantische Bedeutung zu verleihen. Ein `QCborTag` kann aus einer Aufzählung aus QCborKnownTags erstellt oder direkt durch Angabe der numerischen Darstellung gebildet werden.
Beispielsweise wird im folgenden Beispiel ein ` QCborValue ` erstellt, das ein Byte-Array enthält, das mit dem Tag 2 gekennzeichnet ist.
QCborValue(QCborTag(2), QByteArray("\x01\0\0\0\0\0\0\0\0", 9));Siehe auch QCborKnownTags, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag() und 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.