<QtCborCommon>
Der <QtCborCommon>-Header 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.
Typ-Dokumentation
enum class QCborKnownTags
Diese Aufzählung 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 unterstützt werden oder speziell von der Qt-Implementierung verwendet werden.
Die maßgebliche Liste wird von der IANA in der CBOR-Tag-Registry gepflegt.
Konstante | Wert | Beschreibung |
---|---|---|
QCborKnownTags::DateTimeString | 0 | Eine Datums- und Zeitzeichenkette, formatiert gemäß RFC 3339, verfeinert durch RFC 4287. Es handelt sich um das gleiche Format wie Qt::ISODate und Qt::ISODateWithMs. |
QCborKnownTags::UnixTime_t | 1 | Eine numerische Darstellung der seit 1970-01-01T00:00Z verstrichenen Sekunden. |
QCborKnownTags::PositiveBignum | 2 | Eine positive Zahl beliebiger Länge, kodiert als Byte-Array in Netzwerk-Byte-Reihenfolge. Zum Beispiel 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 absolute Wert dieser Zahl minus eins. Ein Byte-Array mit dem Byte-Wert 0x02, gefolgt von 8 Null-Bytes, repräsentiert zum Beispiel die Zahl -265 - 1. |
QCborKnownTags::Decimal | 4 | Ein Dezimalbruch, kodiert als ein Array aus zwei ganzen Zahlen: 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, aber der Exponent ist stattdessen eine Potenz von 2. |
QCborKnownTags::COSE_Encrypt0 | 16 | Eine Encrypt0 -Map, wie in RFC 8152 (CBOR Object Signing and Encryption) beschrieben. |
QCborKnownTags::COSE_Mac0 | 17 | Eine Mac0 -Map, wie in RFC 8152 (CBOR Object Signing and Encryption) spezifiziert. |
QCborKnownTags::COSE_Sign1 | 18 | Eine Sign1 -Map, wie in RFC 8152 (CBOR Object Signing and Encryption) spezifiziert. |
QCborKnownTags::ExpectedBase64url | 21 | Gibt an, dass das Byte-Array mit Base64url kodiert werden soll, wenn der Stream in JSON konvertiert wird. |
QCborKnownTags::ExpectedBase64 | 22 | Zeigt an, dass das Byte-Array mit Base64 kodiert werden soll, wenn der Stream in JSON konvertiert wird. |
QCborKnownTags::ExpectedBase16 | 23 | Zeigt an, dass das Byte-Array mit Base16 (hex) kodiert werden sollte, wenn der Stream in JSON konvertiert wird. |
QCborKnownTags::EncodedCbor | 24 | Zeigt an, dass das Byte-Array einen CBOR-Stream enthält. |
QCborKnownTags::Url | 32 | Zeigt an, dass die Zeichenfolge eine URL enthält. |
QCborKnownTags::Base64url | 33 | Zeigt an, dass die Zeichenfolge Daten enthält, die mit Base64url kodiert sind. |
QCborKnownTags::Base64 | 34 | Zeigt an, dass die Zeichenfolge Daten enthält, die mit Base64 kodiert sind. |
QCborKnownTags::RegularExpression | 35 | Zeigt an, dass die Zeichenfolge ein Perl-kompatibles Muster für reguläre Ausdrücke enthält. |
QCborKnownTags::MimeMessage | 36 | Zeigt an, dass die Zeichenfolge eine MIME-Nachricht enthält (gemäß RFC 2045). |
QCborKnownTags::Uuid | 37 | Zeigt an, dass das Byte-Array eine UUID enthält. |
QCborKnownTags::COSE_Encrypt | 96 | Eine Encrypt -Map, wie in RFC 8152 (CBOR Object Signing and Encryption) angegeben. |
QCborKnownTags::COSE_Mac | 97 | Eine Mac -Map, wie in RFC 8152 (CBOR Object Signing and Encryption) spezifiziert. |
QCborKnownTags::COSE_Sign | 98 | Eine Sign -Map, wie in RFC 8152 (CBOR Object Signing and Encryption) spezifiziert. |
QCborKnownTags::Signature | 55799 | Keine Änderung der Interpretation; dieser Tag kann als äußerster Tag in einem CBOR-Stream als Dateikopf verwendet werden. |
Die folgenden Tags werden von QCborValue während der Dekodierung interpretiert und erzeugen Objekte mit erweiterten Qt-Typen, und sie verwenden diese Tags bei der Kodierung derselben erweiterten Typen.
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 ein QCborValue, das ein QByteArray enthält, mit einem der Tags ExpectedBase64url
, ExpectedBase64
oder ExpectedBase16
versehen ist, verwendet QCborValue bei der Konvertierung nach 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 Aufzählung enthält die möglichen "Simple Types" für CBOR. Simple Types reichen von 0 bis 255 und sind Typen, die keinen weiteren Wert tragen.
Die folgenden Werte sind derzeit bekannt:
Konstante | Wert | Beschreibung |
---|---|---|
QCborSimpleType::False | 20 | Ein "falscher" boolescher Wert. |
QCborSimpleType::True | 21 | Ein "wahrer" boolescher Wert. |
QCborSimpleType::Null | 22 | Fehlender Wert (null). |
QCborSimpleType::Undefined | 23 | Fehlender oder gelöschter Wert, normalerweise ein Fehler. |
Qt CBOR API unterstützt die Kodierung und Dekodierung jedes Simple Type, ob einer der oben genannten oder ein anderer Wert.
Anwendungen sollten nur dann weitere Werte verwenden, wenn eine entsprechende Spezifikation veröffentlicht wurde, da sonst die Interpretation und Validierung durch die Gegenstelle fehlschlagen kann. Die Werte 24 bis 31 sind reserviert und dürfen nicht verwendet werden.
Die aktuelle maßgebliche Liste wird von der IANA in der Simple Values Registry verwaltet.
Siehe auch QCborStreamWriter::append(QCborSimpleType), QCborStreamReader::isSimpleType(), QCborStreamReader::toSimpleType(), QCborValue::isSimpleType(), und QCborValue::toSimpleType().
enum class QCborTag
Dieses Enum enthält keine Aufzählung und wird nur verwendet, um einen typsicheren Zugriff auf ein CBOR-Tag zu ermöglichen.
CBOR-Tags sind 64-Bit-Zahlen, die an generische CBOR-Typen angehängt werden, um ihnen weitere semantische Bedeutung zu verleihen. QCborTag kann aus einer Aufzählung in QCborKnownTags oder direkt durch Angabe der numerischen Darstellung erstellt werden.
Im Folgenden wird beispielsweise ein QCborValue erstellt, das ein Byte-Array mit dem Tag 2 enthält.
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().
© 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.