<QtCborCommon>

<QtCborCommon> 헤더에는 스트리밍 클래스(QCborStreamReaderQCborStreamWriter)와 QCborValue 에 공통으로 적용되는 정의가 포함되어 있습니다. 더 보기...

Header: #include <QtCborCommon>

Types

enum class QCborKnownTags { DateTimeString, UnixTime_t, PositiveBignum, NegativeBignum, Decimal, …, Signature }
enum class QCborSimpleType { False, True, Null, Undefined }
enum class QCborTag { }

자세한 설명

QCborError도 참조하십시오 .

유형 문서

enum class QCborKnownTags

이 열거형에는 Qt 구현 시점에 알려진 CBOR 태그의 목록이 포함되어 있습니다. 이 목록은 완전한 것이 아니며 RFC에 의해 뒷받침되거나 Qt 구현에서 특별히 사용되는 태그만 포함합니다.

권위 있는 목록은 CBOR 태그 레지스트리에서 IANA에 의해 유지 관리됩니다.

Constant설명
QCborKnownTags::DateTimeString0RFC 3339에 따라 형식이 지정된 날짜 및 시간 문자열로, RFC 4287에 의해 세분화되었습니다. Qt::ISODateQt::ISODateWithMs 과 동일한 형식입니다.
QCborKnownTags::UnixTime_t11970-01-01T00:00Z 이후 경과한 초를 숫자로 표현합니다.
QCborKnownTags::PositiveBignum2네트워크 바이트 순서로 바이트 배열로 인코딩된 임의의 길이의 양수입니다. 예를 들어 숫자264는 바이트 값 0x01과 8개의 0바이트를 포함하는 바이트 배열로 표시됩니다.
QCborKnownTags::NegativeBignum3임의의 길이의 음수로, 해당 숫자의 절대값에서 1을 뺀 값으로 인코딩됩니다. 예를 들어, 바이트 값 0x02와 0바이트 8개를 포함하는 바이트 배열은 숫자 -265 - 1을 나타냅니다.
QCborKnownTags::Decimal4두 정수의 배열로 인코딩된 십진수 분수: 첫 번째는 10의 거듭제곱 지수, 두 번째는 적분 맨티사입니다. 값 273.15는 [-2, 27315] 배열로 인코딩됩니다.
QCborKnownTags::Bigfloat5십진수와 비슷하지만 지수는 대신 2의 거듭제곱입니다.
QCborKnownTags::COSE_Encrypt016RFC 8152 (CBOR 객체 서명 및 암호화)에 지정된 Encrypt0 맵.
QCborKnownTags::COSE_Mac017RFC 8152 (CBOR 객체 서명 및 암호화)에 지정된 Mac0 맵입니다.
QCborKnownTags::COSE_Sign118RFC 8152 (CBOR 객체 서명 및 암호화)에 지정된 Sign1 맵.
QCborKnownTags::ExpectedBase64url21스트림이 JSON으로 변환되는 경우 바이트 배열이 Base64url을 사용하여 인코딩되어야 함을 나타냅니다.
QCborKnownTags::ExpectedBase6422스트림이 JSON으로 변환되는 경우 바이트 배열을 Base64를 사용하여 인코딩해야 함을 나타냅니다.
QCborKnownTags::ExpectedBase1623스트림이 JSON으로 변환되는 경우 바이트 배열을 Base16(16진수)을 사용하여 인코딩해야 함을 나타냅니다.
QCborKnownTags::EncodedCbor24바이트 배열에 CBOR 스트림이 포함되어 있음을 나타냅니다.
QCborKnownTags::Url32문자열에 URL이 포함되어 있음을 나타냅니다.
QCborKnownTags::Base64url33문자열에 Base64url을 사용하여 인코딩된 데이터가 포함되어 있음을 나타냅니다.
QCborKnownTags::Base6434문자열에 Base64를 사용하여 인코딩된 데이터가 포함되어 있음을 나타냅니다.
QCborKnownTags::RegularExpression35문자열에 Perl 호환 정규식 패턴이 포함되어 있음을 나타냅니다.
QCborKnownTags::MimeMessage36문자열에 MIME 메시지가 포함되어 있음을 나타냅니다( RFC 2045에 따름).
QCborKnownTags::Uuid37바이트 배열에 UUID가 포함되어 있음을 나타냅니다.
QCborKnownTags::COSE_Encrypt96RFC 8152 (CBOR 객체 서명 및 암호화)에 지정된 Encrypt 맵입니다.
QCborKnownTags::COSE_Mac97RFC 8152 (CBOR 객체 서명 및 암호화)에 지정된 Mac 맵입니다.
QCborKnownTags::COSE_Sign98RFC 8152 (CBOR 객체 서명 및 암호화)에 명시된 Sign 맵.
QCborKnownTags::Signature55799해석은 변경되지 않으며, 이 태그는 파일 헤더로 CBOR 스트림에서 가장 바깥쪽 태그로 사용할 수 있습니다.

다음 태그는 디코딩 중에 QCborValue 에서 해석하여 확장된 Qt 유형을 가진 객체를 생성하며, 동일한 확장 유형을 인코딩할 때 해당 태그를 사용합니다.

Constant설명
QCborKnownTags::DateTimeString0QDateTime
QCborKnownTags::UnixTime_t1QDateTime (디코딩할 때만)
QCborKnownTags::Url32QUrl
QCborKnownTags::Uuid37QUuid

또한 QByteArray 을 포함하는 QCborValueExpectedBase64url, ExpectedBase64 또는 ExpectedBase16 중 하나를 사용하여 태그가 지정된 경우 QCborValue 는 JSON으로 변환할 때 예상 인코딩을 사용합니다( QCborValue::toJsonValue 참조 ).

QCborTag, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag() 및 QCborValue::tag()도 참조하세요 .

enum class QCborSimpleType

이 열거형에는 CBOR에 사용할 수 있는 "단순 유형"이 포함되어 있습니다. 단순 유형 범위는 0에서 255까지이며 더 이상의 값을 포함하지 않는 유형입니다.

현재 알려진 값은 다음과 같습니다:

Constant설명
QCborSimpleType::False20"false" 부울입니다.
QCborSimpleType::True21"true" 부울입니다.
QCborSimpleType::Null22값이 없음(null).
QCborSimpleType::Undefined23값이 없거나 삭제된 경우, 일반적으로 오류입니다.

Qt CBOR API는 위의 값이든 다른 값이든 모든 단순 타입의 인코딩과 디코딩을 지원합니다.

애플리케이션은 해당 사양이 게시된 경우에만 추가 값을 사용해야 하며, 그렇지 않으면 원격에서 해석 및 유효성 검사가 실패할 수 있습니다. 값 24~31은 예약되어 있으므로 사용해서는 안 됩니다.

현재 권한 있는 목록은 IANA에서 단순 값 레지스트리에 유지 관리합니다.

QCborStreamWriter::append(QCborSimpleType), QCborStreamReader::isSimpleType(), QCborStreamReader::toSimpleType(), QCborValue::isSimpleType() 및 QCborValue::toSimpleType()도 참조하세요 .

enum class QCborTag

이 열거형은 열거형을 포함하지 않으며 CBOR 태그에 대한 유형 안전 액세스를 제공하는 데만 사용됩니다.

CBOR 태그는 추가적인 의미적 의미를 제공하기 위해 일반 CBOR 유형에 첨부되는 64비트 숫자입니다. QCborTag는 QCborKnownTags 에 있는 열거형에서 만들거나 숫자 표현을 직접 제공하여 만들 수 있습니다.

예를 들어 다음은 태그 2로 태그된 바이트 배열을 포함하는 QCborValue 을 만듭니다.

   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()도 참조하세요 .

© 2025 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.