<QtCborCommon>
La cabecera <QtCborCommon> contiene definiciones comunes tanto a las clases de streaming (QCborStreamReader y QCborStreamWriter) como a QCborValue. Más...
| Header: | #include <QtCborCommon> |
Tipos
| enum class | QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, Decimal, …, Signature } |
| enum class | QCborSimpleType { False, True, Null, Undefined } |
| enum class | QCborTag { } |
Véase también QCborError.
Documentación de tipos
enum class QCborKnownTags
Este enum contiene una lista de etiquetas CBOR, conocidas en el momento de la implementación de Qt. Esta lista no pretende ser completa y sólo contiene etiquetas respaldadas por una RFC o utilizadas específicamente por la implementación de Qt.
La lista autorizada es mantenida por IANA en el registro de etiquetas CBOR.
| Constante | Valor | Descripción |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | Una cadena de fecha y hora, formateada según RFC 3339, perfeccionada por RFC 4287. Es el mismo formato que Qt::ISODate y Qt::ISODateWithMs. |
QCborKnownTags::UnixTime_t | 1 | Una representación numérica de los segundos transcurridos desde 1970-01-01T00:00Z. |
QCborKnownTags::PositiveBignum | 2 | Un número positivo de longitud arbitraria, codificado como una matriz de bytes en orden de bytes de red. Por ejemplo, el número264 se representa mediante una matriz de bytes que contiene el valor 0x01 seguido de 8 bytes cero. |
QCborKnownTags::NegativeBignum | 3 | Un número negativo de longitud arbitraria, codificado como el valor absoluto de ese número, menos uno. Por ejemplo, una matriz de bytes que contenga el valor 0x02 seguido de 8 bytes cero representa el número -265 - 1. |
QCborKnownTags::Decimal | 4 | Una fracción decimal, codificada como una matriz de dos enteros: el primero es el exponente de la potencia de 10, el segundo la mantisa integral. El valor 273,15 se codificaría como matriz [-2, 27315]. |
QCborKnownTags::Bigfloat | 5 | Similar a Decimal, pero el exponente es una potencia de 2. |
QCborKnownTags::COSE_Encrypt0 | 16 | Un mapa Encrypt0 según lo especificado por RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Mac0 | 17 | Un mapa Mac0 según lo especificado por RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Sign1 | 18 | Un mapa Sign1 según se especifica en RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::ExpectedBase64url | 21 | Indica que la matriz de bytes debe codificarse utilizando Base64url si el flujo se convierte a JSON. |
QCborKnownTags::ExpectedBase64 | 22 | Indica que la matriz de bytes debe codificarse utilizando Base64 si el flujo se convierte a JSON. |
QCborKnownTags::ExpectedBase16 | 23 | Indica que la matriz de bytes debe codificarse utilizando Base16 (hex) si el flujo se convierte a JSON. |
QCborKnownTags::EncodedCbor | 24 | Indica que la matriz de bytes contiene un flujo CBOR. |
QCborKnownTags::Url | 32 | Indica que la cadena contiene una URL. |
QCborKnownTags::Base64url | 33 | Indica que la cadena contiene datos codificados utilizando Base64url. |
QCborKnownTags::Base64 | 34 | Indica que la cadena contiene datos codificados con Base64. |
QCborKnownTags::RegularExpression | 35 | Indica que la cadena contiene un patrón de expresión regular compatible con Perl. |
QCborKnownTags::MimeMessage | 36 | Indica que la cadena contiene un mensaje MIME (según RFC 2045). |
QCborKnownTags::Uuid | 37 | Indica que la matriz de bytes contiene un UUID. |
QCborKnownTags::COSE_Encrypt | 96 | Un mapa Encrypt según lo especificado por RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Mac | 97 | Un mapa Mac según se especifica en RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::COSE_Sign | 98 | Un mapa Sign según se especifica en el RFC 8152 (CBOR Object Signing and Encryption). |
QCborKnownTags::Signature | 55799 | Sin cambios en la interpretación; esta etiqueta puede utilizarse como la etiqueta más externa en un flujo CBOR como cabecera de archivo. |
Las siguientes etiquetas son interpretadas por QCborValue durante la decodificación y producirán objetos con tipos Qt extendidos, y utilizará esas etiquetas cuando codifique los mismos tipos extendidos.
| Constante | Valor | Descripción |
|---|---|---|
QCborKnownTags::DateTimeString | 0 | QDateTime |
QCborKnownTags::UnixTime_t | 1 | QDateTime (sólo en descodificación) |
QCborKnownTags::Url | 32 | QUrl |
QCborKnownTags::Uuid | 37 | QUuid |
Además, si un QCborValue que contiene un QByteArray está etiquetado utilizando uno de ExpectedBase64url, ExpectedBase64 o ExpectedBase16, QCborValue utilizará la codificación esperada al convertir a JSON (véase QCborValue::toJsonValue).
Véase también QCborTag, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag(), y QCborValue::tag().
enum class QCborSimpleType
Este enum contiene los posibles "Tipos Simples" para CBOR. Los Tipos Simples van de 0 a 255 y son tipos que no llevan ningún otro valor.
Actualmente se conocen los siguientes valores:
| Constante | Valor | Descripción |
|---|---|---|
QCborSimpleType::False | 20 | Un booleano "falso". |
QCborSimpleType::True | 21 | Un booleano "verdadero". |
QCborSimpleType::Null | 22 | Ausencia de valor (null). |
QCborSimpleType::Undefined | 23 | Valor ausente o eliminado, normalmente un error. |
La API CBOR de Qt admite la codificación y descodificación de cualquier tipo simple, ya sea uno de los anteriores o cualquier otro valor.
Las aplicaciones sólo deben utilizar otros valores si se ha publicado una especificación correspondiente; de lo contrario, la interpretación y validación por parte del remoto pueden fallar. Los valores 24 a 31 están reservados y no deben utilizarse.
La lista autorizada actual la mantiene IANA en el registro Simple Values.
Véase también QCborStreamWriter::append(QCborSimpleType), QCborStreamReader::isSimpleType(), QCborStreamReader::toSimpleType(), QCborValue::isSimpleType() y QCborValue::toSimpleType().
enum class QCborTag
Este enum no contiene ninguna enumeración y se utiliza únicamente para proporcionar un acceso seguro a una etiqueta CBOR.
Las etiquetas CBOR son números de 64 bits que se adjuntan a tipos CBOR genéricos para proporcionar un significado semántico adicional. QCborTag puede construirse a partir de una enumeración encontrada en QCborKnownTags o directamente proporcionando la representación numérica.
Por ejemplo, a continuación se crea un QCborValue que contiene una matriz de bytes etiquetada con la etiqueta 2.
QCborValue(QCborTag(2), QByteArray("\x01\0\0\0\0\0\0\0\0", 9));
Véase también QCborKnownTags, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag(), y 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.