Spec-Zone.ru › Qt 5.13

<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_MARKER

enum 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API