바이너리 프로토콜 설계기
명시한 필드로 작은 바이너리 패킷을 설계하세요. 비트를 순서대로 넣고 바이트 정렬을 요청한 곳에 0을 채우며 HEX 바이트와 필드 위치를 보여줍니다. 같은 길이의 HEX 패킷을 붙여 넣으면 같은 레이아웃으로 값을 다시 해석합니다. 브라우저에서만 실행하며 장치에 연결하지 않습니다.
주요 기능
- 1~32비트 무부호 정수와 2의 보수 부호 정수를 바이트 경계를 넘어 조립
- 필드별 빅 엔디언 또는 리틀 엔디언 선택: 리틀 엔디언은 바이트 정렬·전체 바이트 폭에만 허용
- 필드 시작 전 바이트 정렬에 0을 채우고 비트·바이트 오프셋 확인
- 현재 레이아웃으로 HEX 패킷을 해석하며 정확한 길이와 모든 패딩 비트 검사
- 수정 가능한 레이아웃 JSON·패킷 HEX 텍스트·필드 결과 보고서 저장
사용 방법
- 예제 레이아웃을 불러오거나 local-binary-layout-v1 JSON을 붙여넣고 적용합니다.
- 비트 폭·부호·엔디언·바이트 정렬을 확인하고 표에서 십진값을 수정합니다.
- 인코딩해 패킷 HEX와 각 필드의 비트·바이트 오프셋을 확인합니다.
- 길이가 같은 HEX 패킷을 붙여넣거나 수정한 뒤 레이아웃으로 해석합니다.
- 레이아웃·HEX 텍스트·필드 보고서를 저장합니다.
활용 예시
- 비트로 묶인 버전·플래그 뒤의 리틀 엔디언 길이 필드 검사
- 바이트 경계를 가로지르는 부호 있는 측정 변화량 확인
- 장치 프로토콜 초안에서 필드별 시작 위치를 정확히 설명
자주 묻는 질문
묶인 필드의 비트 순서는 무엇인가요?
빅 엔디언 필드는 큰 자리 비트부터 기록하며 비트0은 0번 바이트의 최상위 비트입니다. 필드가 바이트 경계를 넘어도 이 순서를 유지합니다.
언제 리틀 엔디언을 선택할 수 있나요?
필드 시작 위치와 폭이 모두 8의 배수일 때만 허용합니다. 바이트는 작은 자리부터 저장합니다. 앞 비트 필드 때문에 시작 위치가 어긋나면 alignBefore=byte를 지정하세요.
음수는 어떻게 나타내나요?
부호 필드는 선택한 폭의 2의 보수를 사용합니다. 예를 들어 부호 있는 12비트 -17은 해당 12비트 범위에서 0xFEF입니다. 범위를 벗어나는 값은 오류로 처리합니다.
해석할 때 패딩 비트를 무시하나요?
아니요. 정렬 때문에 비운 비트와 마지막 바이트의 남은 비트는 모두 0이어야 합니다. 0이 아닌 패딩이 있으면 비트 위치를 표시합니다.
지원하는 크기는 어느 정도인가요?
필드1~64개, 필드당1~32비트, 사용 비트 최대2,048개(256바이트)입니다. 레이아웃 JSON은 64KiB까지입니다. 체크섬·부동소수점 형식·실제 직렬 연결은 제공하지 않습니다.
해석할 때 레이아웃의 십진값도 사용하나요?
레이아웃의 폭·비트 순서·정렬을 사용합니다. HEX 해석에 성공하면 나온 십진값으로 입력 표를 바꾸며 입력 HEX 길이는 정확히 일치해야 합니다.
개인정보 안내
패킷 레이아웃과 HEX 값은 브라우저에서 처리됩니다. 장치에 연결하거나 패킷을 업로드하지 않습니다.
댓글과 질문