<QtCborCommon>
В заголовке <QtCborCommon> содержатся определения, общие как для потоковых классов (QCborStreamReader и QCborStreamWriter), так и для QCborValue. Подробнее...
| Заголовок: | #include <QtCborCommon> |
Типы
| Перечисление | QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, Decimal, …, Signature } |
| Перечисление | QCborSimpleType { False, True, Null, Undefined } |
| Перечисление | QCborTag { } |
Подробное описание
Документация типов
перечисление QCborKnownTags
Это перечисление содержит список тегов CBOR, известных на момент реализации Qt. Этот список не претендует на полноту и содержит только теги, основанные на RFC или используемые в реализации Qt.
Авторитетный список поддерживается IANA в реестре тегов CBOR.
| Константа | Значение | Описание |
|---|---|---|
<QtCborCommon>::DateTimeString |
0 |
Строка даты и времени, отформатированная в соответствии с RFC 3339, как уточнено в RFC 4287. Это тот же формат, что и Qt::ISODate и Qt::ISODateWithMs. |
<QtCborCommon>::UnixTime_t |
1 |
Числовое представление количества секунд, прошедших с 1970-01-01T00:00Z. |
<QtCborCommon>::PositiveBignum |
2 |
Положительное число произвольной длины, закодированное как массив байтов в сетевом порядке байтов. Например, число 264 представлено массивом байтов, содержащим значение байта 0x01, за которым следуют 8 нулевых байтов. |
<QtCborCommon>::NegativeBignum |
3 |
Отрицательное число произвольной длины, закодированное как абсолютное значение этого числа минус единица. Например, массив байтов, содержащий значение байта 0x02, за которым следуют 8 нулевых байтов, представляет число -265 - 1. |
<QtCborCommon>::Decimal |
4 |
Десятичная дробь, закодированная как массив из двух целых чисел: первое — показатель степени 10, второе — целая мантисса. Значение 273.15 было бы закодировано как массив [-2, 27315]. |
<QtCborCommon>::Bigfloat |
5 |
Аналогично Decimal, но показатель степени — степень двойки вместо степени 10. |
<QtCborCommon>::COSE_Encrypt0 |
16 |
Карта Encrypt0, как указано в RFC 8152 (CBOR Object Signing and Encryption). |
<QtCborCommon>::COSE_Mac0 |
17 |
Карта Mac0, как указано в RFC 8152 (CBOR Object Signing and Encryption). |
Следующие теги интерпретируются QCborValue при декодировании и будут создавать объекты с расширенными типами Qt, и эти теги будут использоваться при кодировании тех же расширенных типов.
END_OF_DOCUMENT_MARKER| Постоянная | Значение | Описание |
|---|---|---|
<QtCborCommon>::DateTimeString |
0 |
QDateTime |
<QtCborCommon>::UnixTime_t |
1 |
QDateTime (только при декодировании) |
<QtCborCommon>::Url |
32 |
QUrl |
<QtCborCommon>::Uuid |
37 |
QUuid |
Кроме того, если QCborValue, содержащий QByteArray, помечен одним из ExpectedBase64url, ExpectedBase64 или ExpectedBase16, QCborValue будет использовать ожидаемое кодирование при преобразовании в JSON (см. QCborValue::toJsonValue).
См. также QCborTag, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag() и QCborValue::tag().
перечисление QCborSimpleType
Это перечисление содержит возможные «Простые типы» для CBOR. Простые типы имеют значения от 0 до 255 и представляют типы, которые не несут дополнительного значения.
В настоящее время известны следующие значения:
| Постоянная | Значение | Описание |
|---|---|---|
<QtCborCommon>::False |
? | Логическое значение «false». |
<QtCborCommon>::True |
? | Логическое значение «true». |
<QtCborCommon>::Null |
? | Отсутствие значения (null). |
<QtCborCommon>::Undefined |
? | Отсутствующее или удалённое значение, обычно ошибка. |
Qt CBOR API поддерживает кодирование и декодирование любого простого типа, будь то один из указанных выше или любое другое значение.
Приложения должны использовать только дополнительные значения, если соответствующий стандарт был опубликован, в противном случае интерпретация и проверка удалённым узлом могут потерпеть неудачу. Значения с 24 по 31 зарезервированы и не должны использоваться.
Текущий авторитетный список поддерживается IANA в реестре простых значений.
См. также QCborStreamWriter::append(QCborSimpleType), QCborStreamReader::isSimpleType(), QCborStreamReader::toSimpleType(), QCborValue::isSimpleType() и QCborValue::toSimpleType().
END_OF_DOCUMENT_MARKERenum QCborTag
Этот перечисление не содержит элементов перечисления и используется только для обеспечения безопасного доступа к тегу CBOR.
Теги CBOR — это 64-битные числа, которые добавляются к общим типам CBOR для придания им дополнительного семантического значения. QCborTag может быть создан из перечисления, найденного в QCborKnownTags, или напрямую путём указания числового представления.
Например, следующее создаёт QCborValue, содержащий массив байтов с тегом 2.
QCborValue(QCborTag(2), QByteArray("\x01\0\0\0\0\0\0\0\0", 9)); См. также QCborKnownTags, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag(), и QCborValue::tag().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qtcborcommon.html