<QtCborCommon>

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

Header: #include <QtCborCommon>

유형

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 구현에서 구체적으로 사용되는 태그만 포함하고 있습니다.

공식 목록은 IANA가 CBOR 태그 레지스트리에서 관리하고 있습니다.

상수값설명
QCborKnownTags::DateTimeString0RFC 4287에 의해 정제된 RFC 3339에 따라 형식이 지정된 날짜 및 시간 문자열입니다. 이는 Qt::ISODate 및 Qt::ISODateWithMs 와 동일한 형식입니다.
QCborKnownTags::UnixTime_t11970-01-01T00:00Z 이후 경과한 초를 숫자로 나타낸 값입니다.
QCborKnownTags::PositiveBignum2네트워크 바이트 순서로 바이트 배열로 인코딩된 임의 길이의 양수입니다. 예를 들어, 숫자264는 바이트 값 0x01과 그 뒤에 8개의 0 바이트가 이어지는 바이트 배열로 표현됩니다.
QCborKnownTags::NegativeBignum3임의의 길이를 가진 음수는 해당 숫자의 절댓값에서 1을 뺀 값으로 인코딩됩니다. 예를 들어, 바이트 값 0x02와 그 뒤에 8개의 0 바이트가 포함된 바이트 배열은 숫자-265 - 1을 나타냅니다.
QCborKnownTags::Decimal4십진 소수이며, 두 정수의 배열로 인코딩됩니다. 첫 번째 정수는 10의 지수이고, 두 번째 정수는 정수 부분의 맨티사입니다. 값 273.15는 배열 ` [-2, 27315]`로 인코딩됩니다.
QCborKnownTags::Bigfloat5십진수(Decimal)와 유사하지만, 지수가 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 유형을 가진 객체를 생성하고, 동일한 확장 유형을 인코딩할 때 해당 태그를 사용합니다.

상수값설명
QCborKnownTags::DateTimeString0QDateTime
QCborKnownTags::UnixTime_t1QDateTime (디코딩 시에만)
QCborKnownTags::Url32QUrl
QCborKnownTags::Uuid37QUuid

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

QCborTag, QCborStreamWriter::append(QCborTag), QCborStreamReader::isTag(), QCborStreamReader::toTag(), QCborValue::isTag(), QCborValue::tag()도 참조하십시오 .

enum class QCborSimpleType

이 열거형에는 CBOR에서 사용할 수 있는 “단순 유형”이 포함되어 있습니다. 단순 유형은 0부터 255까지의 범위를 가지며, 별도의 값을 포함하지 않는 유형입니다.

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

상수값설명
QCborSimpleType::False20"false" 부울 값.
QCborSimpleType::True21"true" 부울 값.
QCborSimpleType::Null22값이 없음(null).
QCborSimpleType::Undefined23값이 없거나 삭제된 경우로, 대개 오류입니다.

Qt CBOR API는 위에서 언급한 유형이든 다른 값이든 상관없이 모든 단순 유형(Simple Type)의 인코딩 및 디코딩을 지원합니다.

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

현재의 공식 목록은 IANA가 Simple Values 레지스트리에서 관리하고 있습니다.

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()도 참조하십시오 .

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