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 예제 표 전체로 검증됩니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.
CBOR 디코드 오류: unexpected end of input
출력은 RFC 8949 진단 표기: h'…' 바이트 문자열, 1 vs 1.0, tag(content), 무한길이 항목엔 _.
사용법
- 입력이 hex인지 base64인지 선택(base64url도 허용).
- CBOR 바이트 붙여넣기.
- 디코딩된 진단 표기를 읽고 복사하세요.
자주 묻는 질문
- 진단 표기가 무엇인가요?
- 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)이 틀렸다는 뜻입니다.
관련 도구
Base64 ↔ 16진수 변환기
Base64 문자열을 16진수 바이트로, 16진수를 다시 Base64로 변환합니다. URL-safe 지원, 브라우저에서 동작합니다.
Quoted-Printable 인코더 & 디코더
텍스트를 MIME Quoted-Printable(RFC 2045)로 인코딩하거나 다시 디코딩 — =XX 이스케이프·소프트 줄바꿈·UTF-8 처리, 인코딩 시 76자 줄바꿈 — 브라우저에서.
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
Base64 인코더 / 디코더
텍스트를 Base64로 인코딩하거나 다시 텍스트로 디코딩하세요.
JSON 포맷터 & 검증기
브라우저에서 바로 JSON을 포맷·정렬·압축·검증하세요.