<QtCborCommon>

L'en-tête <QtCborCommon> contient des définitions communes aux classes de streaming (QCborStreamReader et QCborStreamWriter) et à QCborValue. Plus...

Header: #include <QtCborCommon>

Types

enum class QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, Decimal, …, Signature }
enum class QCborSimpleType { False, True, Null, Undefined }
enum class QCborTag { }

Description détaillée

Voir aussi QCborError.

Documentation des types

enum class QCborKnownTags

Cette énumération contient une liste de balises CBOR, connues au moment de l'implémentation de Qt. Cette liste n'est pas exhaustive et ne contient que les balises soutenues par une RFC ou spécifiquement utilisées par l'implémentation de Qt.

La liste faisant autorité est maintenue par l'IANA dans le registre des balises CBOR.

ConstanteValeurDescription
QCborKnownTags::DateTimeString0Une chaîne de date et d'heure, formatée conformément à la RFC 3339, telle qu'affinée par la RFC 4287. Il s'agit du même format que Qt::ISODate et Qt::ISODateWithMs.
QCborKnownTags::UnixTime_t1Une représentation numérique des secondes écoulées depuis 1970-01-01T00:00Z.
QCborKnownTags::PositiveBignum2Un nombre positif de longueur arbitraire, codé sous forme de tableau d'octets dans l'ordre des octets du réseau. Par exemple, le nombre264 est représenté par un tableau d'octets contenant la valeur 0x01 suivie de 8 octets de zéro.
QCborKnownTags::NegativeBignum3Un nombre négatif de longueur arbitraire, encodé comme la valeur absolue de ce nombre, moins un. Par exemple, un tableau d'octets contenant la valeur 0x02 suivie de 8 octets de zéro représente le nombre -265 - 1.
QCborKnownTags::Decimal4Une fraction décimale, codée sous la forme d'un tableau de deux entiers : le premier est l'exposant de la puissance de 10, le second la mantisse intégrale. La valeur 273,15 serait codée sous la forme d'un tableau [-2, 27315].
QCborKnownTags::Bigfloat5Similaire à Decimal, mais l'exposant est une puissance de 2 à la place.
QCborKnownTags::COSE_Encrypt016Une carte Encrypt0 telle que spécifiée par la RFC 8152 (CBOR Object Signing and Encryption).
QCborKnownTags::COSE_Mac017Une carte Mac0 telle que spécifiée par le RFC 8152 (CBOR Object Signing and Encryption).
QCborKnownTags::COSE_Sign118Une carte Sign1 telle que spécifiée par le RFC 8152 (CBOR Object Signing and Encryption).
QCborKnownTags::ExpectedBase64url21Indique que le tableau d'octets doit être encodé à l'aide de Base64url si le flux est converti en JSON.
QCborKnownTags::ExpectedBase6422Indique que le tableau d'octets doit être encodé en utilisant Base64 si le flux est converti en JSON.
QCborKnownTags::ExpectedBase1623Indique que le tableau d'octets doit être encodé en Base16 (hex) si le flux est converti en JSON.
QCborKnownTags::EncodedCbor24Indique que le tableau d'octets contient un flux CBOR.
QCborKnownTags::Url32Indique que la chaîne contient une URL.
QCborKnownTags::Base64url33Indique que la chaîne contient des données encodées à l'aide de Base64url.
QCborKnownTags::Base6434Indique que la chaîne contient des données encodées à l'aide de Base64.
QCborKnownTags::RegularExpression35Indique que la chaîne contient un motif d'expression régulière compatible avec Perl.
QCborKnownTags::MimeMessage36Indique que la chaîne contient un message MIME (conformément à la RFC 2045).
QCborKnownTags::Uuid37Indique que le tableau d'octets contient un UUID.
QCborKnownTags::COSE_Encrypt96Une carte Encrypt telle que spécifiée par la RFC 8152 (CBOR Object Signing and Encryption).
QCborKnownTags::COSE_Mac97Une carte Mac telle que spécifiée par le RFC 8152 (CBOR Object Signing and Encryption).
QCborKnownTags::COSE_Sign98Une carte Sign telle que spécifiée par le RFC 8152 (CBOR Object Signing and Encryption).
QCborKnownTags::Signature55799Pas de changement dans l'interprétation ; cette balise peut être utilisée comme balise extérieure dans un flux CBOR en tant qu'en-tête de fichier.

Les balises suivantes sont interprétées par QCborValue pendant le décodage et produiront des objets avec des types étendus de Qt XML, et il utilisera ces balises lors de l'encodage des mêmes types étendus.

ConstanteValeurDescription
QCborKnownTags::DateTimeString0QDateTime
QCborKnownTags::UnixTime_t1QDateTime (uniquement lors du décodage)
QCborKnownTags::Url32QUrl
QCborKnownTags::Uuid37QUuid

De plus, si un QCborValue contenant un QByteArray est étiqueté en utilisant l'un des ExpectedBase64url, ExpectedBase64 ou ExpectedBase16, QCborValue utilisera l'encodage attendu lors de la conversion en JSON (voir QCborValue::toJsonValue).

Voir aussi QCborTag, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag(), et QCborValue::tag().

enum class QCborSimpleType

Cette énumération contient les "types simples" possibles pour CBOR. Les types simples vont de 0 à 255 et sont des types qui ne comportent aucune autre valeur.

Les valeurs suivantes sont actuellement connues :

ConstanteValeurDescription
QCborSimpleType::False20Un booléen "faux".
QCborSimpleType::True21Un booléen "vrai".
QCborSimpleType::Null22Absence de valeur (null).
QCborSimpleType::Undefined23Valeur manquante ou supprimée, généralement une erreur.

L'API Qt CBOR prend en charge le codage et le décodage de tout type simple, qu'il s'agisse de l'un des types ci-dessus ou de toute autre valeur.

Les applications ne doivent utiliser d'autres valeurs que si une spécification correspondante a été publiée, faute de quoi l'interprétation et la validation par la télécommande risquent d'échouer. Les valeurs 24 à 31 sont réservées et ne doivent pas être utilisées.

La liste actuelle faisant autorité est maintenue par l'IANA dans le registre des valeurs simples.

Voir également QCborStreamWriter::append(QCborSimpleType), QCborStreamReader::isSimpleType(), QCborStreamReader::toSimpleType(), QCborValue::isSimpleType() et QCborValue::toSimpleType().

enum class QCborTag

Cette énumération ne contient aucune énumération et n'est utilisée que pour fournir un accès sécurisé à une balise CBOR.

Les balises CBOR sont des nombres de 64 bits qui sont attachés aux types génériques CBOR pour fournir une signification sémantique supplémentaire. QCborTag peut être construit à partir d'une énumération trouvée dans QCborKnownTags ou directement en fournissant la représentation numérique.

Par exemple, ce qui suit crée un QCborValue contenant un tableau d'octets étiqueté avec un tag 2.

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

Voir aussi QCborKnownTags, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag(), et 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.