Protocol Buffer Varint 인코더

부호 없는 정수를 입력하여 protobuf varint로 인코딩하세요.

사용 방법

  1. 위 입력란에 값을 입력하세요.
  2. 계산을 누르면 결과가 즉시 표시됩니다.
  3. 공유 버튼으로 결과 링크를 복사하세요.

이 계산기 정보

Google의 이진 직렬화 형식인 Protocol Buffers는 작은 수의 공간을 아끼려고 base-128 varint로 정수를 인코딩합니다. 각 바이트는 값의 7비트와 "연속" 비트(최상위 비트)를 담고 있으며, 연속 비트는 뒤에 바이트가 더 이어지면 1이고 마지막 바이트에서는 0입니다. 따라서 필드 길이, 열거형 값, ID처럼 실제 protobuf 메시지의 압도적 다수를 차지하는 작은 정수는, 고정 폭 정수라면 언제나 4바이트나 8바이트가 들었을 것을 단 1바이트로 인코딩합니다. protobuf 메시지가 전송 구간에서 그렇게 작게 유지되는 이유가 바로 이것입니다.

이 계산기는 부호 없는 정수를 입력받아 varint 바이트 열로 인코딩하고, 각 바이트를 16진수와 2진수로 함께 보여 주므로 연속 비트가 작동하는 모습을 볼 수 있습니다. protobuf 전송 형식 문제를 디버깅하는 백엔드 엔지니어, 생성된 라이브러리 없이 자체 protobuf 파서나 직렬화기를 작성하는 개발자, 이진 인코딩 방식을 배우는 학생은 어떤 값의 바이트 인코딩이 자신의 코드가 만들어 내거나 기대하는 결과와 일치하는지 직접 확인하는 데 이 계산기를 사용합니다.

도움이 되었나요?

최대 3개의 반응을 선택할 수 있습니다.

댓글

  • 첫 번째 댓글을 남겨 보세요.

인기 계산기

모든 계산기