<QtCborCommon>
В заголовочном файле <QtCborCommon> содержатся определения, общие как для потоковых классов (QCborStreamReader и QCborStreamWriter), так и для QCborValue. Подробнее...
| Заголовок: | #include <QtCborCommon> |
Типы
| Перечисление | QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, ..., 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 |
Аналогично Десятичному, но показатель степени является степенью 2. |
<QtCborCommon>::COSE_Encrypt0 |
16 |
Карта Encrypt0, как определено в RFC 8152 (Подпись и шифрование объектов CBOR). |
<QtCborCommon>::COSE_Mac0 |
17 |
Карта Mac0 как определено в RFC 8152 (Подпись и шифрование объектов CBOR). |
<QtCborCommon>::COSE_Sign1 |
18 |
Карта Sign1 как определено в RFC 8152 (Подпись и шифрование объектов CBOR). |
Следующие теги интерпретируются классом QCborValue во время декодирования и приведут к созданию объектов с расширенными типами Qt, а также будут использоваться при кодировании тех же расширенных типов.
| Константа | Значение | Описание |
|---|---|---|
<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 |
? | Отсутствующее или удалённое значение, обычно ошибка. |
API Qt CBOR поддерживает кодирование и декодирование любых Простых типов, будь то указанные выше или любые другие значения.
Приложения должны использовать дополнительные значения только в том случае, если соответствующий стандарт опубликован, в противном случае интерпретация и проверка удалённым приложением могут не удаться. Значения от 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.13/qtcborcommon.html