<QtCborCommon>

L'en-tête <QtCborCommon> contient des définitions communes à la fois aux classes de streaming (QCborStreamReader et QCborStreamWriter) et à QCborValue. En savoir 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 sur les types

enum class QCborKnownTags

Cette énumération contient une liste des balises CBOR connues au moment de la mise en œuvre de Qt. Cette liste ne se veut pas exhaustive et ne contient que les balises qui sont soit définies par une RFC, soit spécifiquement utilisées par l'implémentation de Qt.

La liste de référence est gérée par l’IANA dans le registre des balises CBOR.

ConstanteValeurDescription
QCborKnownTags::DateTimeString0Une chaîne de caractères représentant une date et une heure, formatée conformément à la RFC 3339, telle que précisée par la RFC 4287. Il s'agit du même format que celui utilisé dans Qt::ISODate et Qt::ISODateWithMs.
QCborKnownTags::UnixTime_t1Une représentation numérique du nombre de secondes écoulées depuis le 01/01/1970 à 00:00Z.
QCborKnownTags::PositiveBignum2Un nombre positif de longueur arbitraire, encodé 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 d’octet 0x01 suivie de 8 octets nuls.
QCborKnownTags::NegativeBignum3Un nombre négatif de longueur arbitraire, encodé sous la forme de la valeur absolue de ce nombre, moins un. Par exemple, un tableau d’octets contenant la valeur d’octet 0x02 suivie de 8 octets nuls 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 entière. La valeur 273,15 serait codée sous la forme du tableau [-2, 27315].
QCborKnownTags::Bigfloat5Similaire au format décimal, mais l’exposant est une puissance de 2.
QCborKnownTags::COSE_Encrypt016Une correspondance « Encrypt0 » telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR).
QCborKnownTags::COSE_Mac017Une correspondance « Mac0 » telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR).
QCborKnownTags::COSE_Sign118Une carte « Sign1 » telle que spécifiée par la RFC 8152 (Signature et chiffrement d'objets CBOR).
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é à l’aide de Base64 si le flux est converti en JSON.
QCborKnownTags::ExpectedBase1623Indique que le tableau d’octets doit être encodé à l’aide de Base16 (hexadécimal) 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 en Base64.
QCborKnownTags::RegularExpression35Indique que la chaîne contient un motif d’expression régulière compatible Perl.
QCborKnownTags::MimeMessage36Indique que la chaîne contient un message MIME (conforme à la RFC 2045).
QCborKnownTags::Uuid37Indique que le tableau d’octets contient un UUID.
QCborKnownTags::COSE_Encrypt96Une carte d’ Encrypt s telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR).
QCborKnownTags::COSE_Mac97Une carte d'Mac s telle que spécifiée par la RFC 8152 (Signature et chiffrement d'objets CBOR).
QCborKnownTags::COSE_Sign98Une carte d’ Sign s telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR).
QCborKnownTags::Signature55799Aucun changement d’interprétation ; cette balise peut être utilisée comme balise la plus externe dans un flux CBOR en tant qu’en-tête de fichier.

Les balises suivantes sont interprétées par QCborValue lors du décodage et produiront des objets avec des types Qt étendus ; utilisera ces balises lors de l’encodage de ces mêmes types étendus.

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

De plus, si un fichier « QCborValue » contenant un fichier « QByteArray » est balisé à l'aide de l'une des balises suivantes : ExpectedBase64url, ExpectedBase64 ou ExpectedBase16, QCborValue utilisera l'encodage attendu lors de la conversion en JSON (voir QCborValue::toJsonValue).

Voir également 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 sont compris entre 0 et 255 et ne portent aucune valeur supplémentaire.

Les valeurs suivantes sont actuellement connues :

ConstanteValeurDescription
QCborSimpleType::False20Une valeur booléenne « false ».
QCborSimpleType::True21Une valeur booléenne « true ».
QCborSimpleType::Null22Absence de valeur (null).
QCborSimpleType::Undefined23Valeur manquante ou supprimée, ce qui correspond généralement à une erreur.

L'API Qt CBOR prend en charge l'encodage et le décodage de tout type simple, qu'il s'agisse de l'une des valeurs 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 ; dans le cas contraire, l’interprétation et la validation par le serveur distant pourraient échouer. Les valeurs 24 à 31 sont réservées et ne doivent pas être utilisées.

La liste officielle actuelle est gérée 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 valeur et sert uniquement à fournir un accès sécurisé au niveau du type à une balise CBOR.

Les balises CBOR sont des nombres de 64 bits associés à des types CBOR génériques afin de leur conférer une signification sémantique supplémentaire. Une balise QCborTag peut être créée à partir d’une énumération figurant dans QCborKnownTags ou directement en fournissant sa représentation numérique.

Par exemple, le code suivant crée un ` QCborValue ` contenant un tableau d'octets balisé avec la balise 2.

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

Voir également 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.