AZ Tools

CBOR 디코더 (진단 표기)

개발

CBOR(간결한 이진 객체 표현, RFC 8949)은 WebAuthn/FIDO2, COSE, C509 인증서 작업, 많은 IoT 프로토콜이 쓰는 간결한 이진 데이터 형식이지만, 원시 바이트로는 읽을 수 없습니다. 바이트를 hex나 base64로 붙여넣으면 이 도구가 스펙의 표준 사람이 읽을 수 있는 형태인 CBOR 진단 표기로 디코딩합니다: 정수와 빅넘, h'…' 형태의 바이트 문자열, 텍스트 문자열, 중첩된 배열과 맵, 0("2013-03-21T20:04:00Z") 같은 태그 값, 단순 값 false/true/null/undefined, half/single/double 부동소수점, 그리고 _ 표시로 쓰는 무한길이 문자열·배열·맵까지. 진행하면서 검증하고, 잘린 입력이나 첫 데이터 항목 뒤의 잉여 바이트를 알려 줍니다. 디코더는 RFC 8949 부록 A 예제 표 전체로 검증됩니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.

출력은 RFC 8949 진단 표기: h'…' 바이트 문자열, 1 vs 1.0, tag(content), 무한길이 항목엔 _.

사용법

  1. 입력이 hex인지 base64인지 선택(base64url도 허용).
  2. CBOR 바이트 붙여넣기.
  3. 디코딩된 진단 표기를 읽고 복사하세요.

자주 묻는 질문

진단 표기가 무엇인가요?
RFC 8949 §8에 정의된 CBOR 데이터 항목의 사람이 읽을 수 있는 텍스트 형태입니다 — JSON과 비슷하지만 CBOR이 표현할 수 있는 모든 것을 표현합니다: h'…' 바이트 문자열, 정수와 부동소수점의 구분(1 vs 1.0), number(content) 형태의 태그, 단순 값 undefined와 simple(n), 그리고 [_ 1, 2]처럼 밑줄로 쓰는 무한길이 항목. CBOR 블롭의 내용을 보여 주는 표준 방식입니다.
CBOR 값의 hex는 어떻게 얻나요?
CBOR을 내보내는 것은 무엇이든 바이트를 줍니다: WebAuthn attestationObject, COSE_Key나 COSE_Sign1, IoT 센서 프레임 등. 그 바이트를 캡처해 hex(공백이나 0x 접두사 유무 무관)나 base64로 붙여넣으세요. 공백은 무시되고 base64url도 받습니다.
왜 1과 1.0을 다르게 표시하나요?
CBOR은 바이트 수준에서 정수와 부동소수점을 구분하고, 진단 표기는 이를 보존합니다: 정수 1은 1, 부동소수점 1은 1.0입니다. half(2바이트)·single(4)·double(8) 부동소수점은 NaN과 ±Infinity를 포함해 정확한 값으로 디코딩됩니다.
'trailing bytes'는 무슨 뜻인가요?
CBOR 메시지는 하나의 데이터 항목입니다. 첫 완전한 항목 뒤에 잉여 바이트가 있으면 도구가 조용히 무시하지 않고 알려 줍니다 — 보통 입력이 항목들의 시퀀스이거나, 항목 중간에서 잘렸거나, 형식(hex vs base64)이 틀렸다는 뜻입니다.

관련 도구