<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 { } |
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.
| Constante | Valeur | Description |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | Une 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_t | 1 | Une représentation numérique du nombre de secondes écoulées depuis le 01/01/1970 à 00:00Z. |
QCborKnownTags::PositiveBignum | 2 | Un 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::NegativeBignum | 3 | Un 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::Decimal | 4 | Une 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::Bigfloat | 5 | Similaire au format décimal, mais l’exposant est une puissance de 2. |
QCborKnownTags::COSE_Encrypt0 | 16 | Une correspondance « Encrypt0 » telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR). |
QCborKnownTags::COSE_Mac0 | 17 | Une correspondance « Mac0 » telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR). |
QCborKnownTags::COSE_Sign1 | 18 | Une carte « Sign1 » telle que spécifiée par la RFC 8152 (Signature et chiffrement d'objets CBOR). |
QCborKnownTags::ExpectedBase64url | 21 | Indique que le tableau d’octets doit être encodé à l’aide de Base64url si le flux est converti en JSON. |
QCborKnownTags::ExpectedBase64 | 22 | Indique que le tableau d’octets doit être encodé à l’aide de Base64 si le flux est converti en JSON. |
QCborKnownTags::ExpectedBase16 | 23 | Indique que le tableau d’octets doit être encodé à l’aide de Base16 (hexadécimal) si le flux est converti en JSON. |
QCborKnownTags::EncodedCbor | 24 | Indique que le tableau d’octets contient un flux CBOR. |
QCborKnownTags::Url | 32 | Indique que la chaîne contient une URL. |
QCborKnownTags::Base64url | 33 | Indique que la chaîne contient des données encodées à l'aide de Base64url. |
QCborKnownTags::Base64 | 34 | Indique que la chaîne contient des données encodées en Base64. |
QCborKnownTags::RegularExpression | 35 | Indique que la chaîne contient un motif d’expression régulière compatible Perl. |
QCborKnownTags::MimeMessage | 36 | Indique que la chaîne contient un message MIME (conforme à la RFC 2045). |
QCborKnownTags::Uuid | 37 | Indique que le tableau d’octets contient un UUID. |
QCborKnownTags::COSE_Encrypt | 96 | Une carte d’ Encrypt s telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR). |
QCborKnownTags::COSE_Mac | 97 | Une carte d'Mac s telle que spécifiée par la RFC 8152 (Signature et chiffrement d'objets CBOR). |
QCborKnownTags::COSE_Sign | 98 | Une carte d’ Sign s telle que spécifiée par la RFC 8152 (Signature et chiffrement d’objets CBOR). |
QCborKnownTags::Signature | 55799 | Aucun 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.
| Constante | Valeur | Description |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | QDateTime |
QCborKnownTags::UnixTime_t | 1 | QDateTime (uniquement lors du décodage) |
QCborKnownTags::Url | 32 | QUrl |
QCborKnownTags::Uuid | 37 | QUuid |
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 :
| Constante | Valeur | Description |
|---|---|---|
QCborSimpleType::False | 20 | Une valeur booléenne « false ». |
QCborSimpleType::True | 21 | Une valeur booléenne « true ». |
QCborSimpleType::Null | 22 | Absence de valeur (null). |
QCborSimpleType::Undefined | 23 | Valeur 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.