Qt의 CBOR 지원
Qt는 CBOR 데이터 처리를 지원합니다. CBOR은 데이터를 저장하는 바이너리 형식으로, JSON에서 사용할 수 있는 유형의 상위 집합을 가지고 있지만 더 컴팩트합니다.
Qt의 CBOR 지원은 CBOR 데이터를 구문 분석, 수정 및 저장하는 데 사용하기 쉬운 C++ API를 제공합니다.
CBOR 데이터 형식에 대한 자세한 내용은 RFC 7049에서 확인할 수 있습니다.
개요
CBOR은 구조화된 데이터를 저장하는 형식입니다. 여기에는 세 가지 기본 유형 그룹이 있습니다:
- 기본 유형: 정수, 부동 소수점, 부울, 널 등.
- 문자열 유사 유형: 문자열 및 바이트 배열
- 컨테이너: 배열 및 맵
또한 CBOR은 '태그'를 추가하여 타입의 의미를 확장할 수 있습니다. 컨테이너 유형에는 기본 유형, 문자열 유사 유형 및 컨테이너가 포함될 수 있습니다.
CBOR 클래스
QCborValue 클래스
QCborValue 클래스는 모든 CBOR 유형을 나타냅니다. 또한 QCborStreamReader 및 QCborStreamWriter 객체에 대한 읽기 및 쓰기와 QCborArray 및 QCborMap 의 도움을 받아 메모리에서 이러한 객체를 조작할 수 있는 간단한 API가 있습니다. CborValue API는 전체 CBOR 데이터 유형에서 단순화되어 항상 모든 정수는 qint64 로, 모든 부동 소수점은 double
으로 표현합니다. 즉, QCborValue 은 qint64 (-2^63 ~ 2^63-1) 범위를 벗어난 CBOR 정수 값을 나타낼 수 없습니다. CBOR 스트림을 생성할 때 QCborValue::toCbor()를 구성하여 더 짧은 단정밀도 및 반정밀도 부동 소수점 표현을 작성하도록 시도할 수 있습니다.
QCborArray 클래스
QCborArray 클래스는 QCborValue 객체의 배열을 보유하는 데 사용됩니다. QCborValue 객체는 QCborArray 객체를 포함할 수 있습니다. QVariantList , QStringList, QJsonArray 로 변환하는 함수가 있습니다.
QCborMap 클래스
QCborMap 클래스는 QCborValue 객체의 맵을 보유하는 데 사용됩니다. QCborValue 객체는 QCborMap 객체를 포함할 수 있습니다. QVariantMap , QVariantHash, QJsonObject 로 변환하고 변환하는 함수가 있지만 QString 뿐만 아니라 모든 유형의 키를 가질 수 있습니다.
QCborStreamReader 클래스
QCborStreamReader 클래스는 QIODevice, QByteArray 또는 메모리 포인터에서 CBOR 데이터를 읽기 위한 로우 레벨 API입니다. QXmlStreamReader 클래스와 유사한 API가 있습니다.
QCborStreamWriter 클래스
QCborStreamWriter 클래스는 QIODevice 또는 QByteArray 에 CBOR 데이터를 쓰기 위한 로우 레벨 API로 QXmlStreamWriter 클래스와 유사한 API를 가지고 있습니다.
CBOR 데이터 구문 분석 및 표시, 직렬화 변환기, 게임 저장 및 로드도참조하세요 .
CBOR 요소 배열을 보유하는 데 사용됩니다. | |
QCborArray::ConstIterator 클래스는 QCborArray에 대한 STL 스타일 const 이터레이터를 제공합니다. | |
QCborArray::Iterator 클래스는 QCborArray에 대한 STL 스타일의 non-const 이터레이터를 제공합니다. | |
CBOR로 표현 가능한 연관 컨테이너를 보유하는 데 사용됩니다. | |
QCborMap::ConstIterator 클래스는 QCborMap에 대한 STL 스타일의 const 이터레이터를 제공합니다. | |
QCborMap::Iterator 클래스는 QCborMap에 대한 STL 스타일의 non-const 이터레이터를 제공합니다. | |
구문 분석 오류를 보고하기 위해 QCborValue에서 사용됩니다. | |
QByteArray 또는 QIODevice에서 작동하는 간단한 CBOR 스트림 디코더. | |
단방향 스트림에서 작동하는 간단한 CBOR 인코더 | |
CBOR로 값을 캡슐화합니다. |
© 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.