CBOR 와이어 포맷 계산기
CBOR(RFC 8949) 헤더 바이트를 주요타입과 인자값에서 계산합니다. 추가정보(24/25/26/27)에 따라 뒤에 몇 바이트가 붙는지 확인합니다.
헤더 바이트
19 03 E8
총 3바이트 (헤더 1 + 인자 2)
사용 방법
- 1주요타입(0~7)을 고릅니다.
- 2인자값을 넣습니다 — 정수면 값 자체, 문자열·배열이면 길이입니다.
- 3헤더 바이트가 몇 바이트로 인코딩되는지 확인합니다.
자주 묻는 질문
헤더 바이트 = (주요타입 << 5) | 추가정보입니다. 상위 3비트가 주요타입(0~7), 하위 5비트가 추가정보입니다. 추가정보가 0~23이면 그 값 자체가 인자이고, 24·25·26·27이면 각각 뒤따르는 1·2·4·8바이트(빅엔디언)가 인자입니다.
추가정보 5비트로 표현할 수 있는 값은 0~23까지만 인자 자체로 쓰고, 24~27은 "뒤에 몇 바이트가 더 있다"는 표시로 예약돼 있기 때문입니다. 그래서 인자가 23에서 24로 한 늘 때 헤더가 1바이트에서 2바이트로 뜁니다.
프로토콜 버퍼는 태그를 (필드번호<<3)|와이어타입 형태로 varint(7비트 분할)에 담습니다. CBOR는 고정 1바이트 헤더에 (주요타입<<5)|추가정보를 담고, 큰 값은 정해진 바이트 수(1·2·4·8바이트)를 그대로 뒤에 붙입니다 — 완전히 다른 인코딩 규칙입니다.
아닙니다. 주요타입 7은 인자가 false·true·null 같은 특수값이거나 부동소수점 인코딩을 고르는 선택자입니다. 실제 부동소수점 비트 분해는 dev/float-bits(32·64비트)·dev/fp16-bfloat16-convert(16비트)를 이용하세요. 이 계산기는 헤더 바이트 구조 자체(주요타입+추가정보+뒤따르는 바이트 수)에 집중합니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- RFC 8949 §3(Concise Binary Object Representation)을 기준으로 합니다. rfc-editor.org·datatracker.ietf.org 두 경로로 원문을 교차 확인했습니다(WebSearch, 2026-09-05).
- RFC 8949 부록 A의 예시값(0→0x00, 24→0x1818, 1000→0x1903E8, 1000000→0x1A000F4240, 1000000000000→0x1B000000E8D4A51000 등)으로 검산했습니다.
- 이 계산기는 헤더 바이트까지만 다룹니다. 주요타입 2·3·4·5의 실제 내용(바이트열·문자열·배열·맵 항목)이나 주요타입 7의 부동소수점 비트는 다루지 않습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 5일 · 결과는 참고용 추정치입니다.