인코딩을 직접 고르기
기본값은 Hex이며 공백, 콜론, 0x 접두사를 허용합니다. Base64 문자열이면 설정을 바꾸세요. 짧은 문자열은 두 형식 모두에 맞을 수 있습니다.
바이트의 구조를 확인
먼저 원시 wire 필드를 보고, 이름과 자료형이 필요할 때만 독립적인 .proto 정의를 추가하세요.
바이트와 스키마는 이 브라우저에서만 처리하며 업로드하지 않습니다.
wire 메시지 또는 varint를 입력하세요.
로그에 바이트만 남아 있을 때 Protobuf 디코더는 각 필드 번호와 wire 유형을 원래 바이트 위치에 연결합니다. 스키마가 없어도 메시지의 경계를 살펴볼 수 있습니다.
proto 스키마 없이 읽는 protobuf 바이너리 데이터에는 필드 이름이 들어 있지 않습니다. 길이로 구분된 값은 문자열, bytes, 중첩 메시지 또는 packed 배열일 수 있으므로 후보를 확정된 형식으로 읽지 마세요.
해석 옆에 원본 증거를 남깁니다.
Protobuf 디코더는 0부터 시작하는 오프셋, wire 유형, 원본 hex를 각 필드에 붙입니다. 길이가 잘린 곳도 정확한 위치를 표시해 패킷 덤프와 비교할 수 있습니다.
한 파일로 완결되는 .proto를 붙이고 메시지 유형을 고르면 이름이 있는 JSON이 나옵니다. 원래의 번호와 hex가 사라지지 않아 형식 해석을 검증할 수 있습니다.
기본값은 Hex이며 공백, 콜론, 0x 접두사를 허용합니다. Base64 문자열이면 설정을 바꾸세요. 짧은 문자열은 두 형식 모두에 맞을 수 있습니다.
wire 유형 0의 varint는 unsigned, signed, ZigZag, bool 등으로 읽힐 수 있습니다. 유형 2도 문자와 중첩 메시지를 구별하지 못합니다. 정확한 형식은 .proto를 확인하세요.
자동 디코딩은 입력 후 350ms 기다립니다. 끄면 Ctrl/Cmd + Enter로 실행합니다. 입력이나 옵션을 바꾸면 기존 결과의 복사와 다운로드가 즉시 비활성화됩니다.
Protobuf 디코더는 varint, fixed64, 길이 구분 값, fixed32를 읽습니다. 잘린 값과 예전 group 태그는 해당 바이트에서 오류를 내고 조용히 건너뛰지 않습니다.
varint 디코딩과 십진수의 역방향 인코딩을 같은 도구에서 처리합니다. BigInt로 uint64와 ZigZag sint64를 계산하므로 Number의 정밀도 한계에 걸리지 않습니다.
독립적인 .proto를 제공하면 반복 필드와 중첩 값을 형식에 따라 보여 줍니다. 스키마 오류가 나도 원시 wire 결과는 남아 있습니다.
내보내기는 원본을 대문자 두 자리 hex로 정리할 뿐 메시지를 재인코딩하지 않습니다. 캡처와 다시 비교할 수 있습니다.
바이너리에는 필드 번호만 저장됩니다. 실제 이름은 일치하는 .proto에 있어야 표시할 수 있습니다.
길이로 구분된 내용이 또 다른 유효한 wire 메시지일 수 있습니다. 하지만 우연히 그렇게 보일 수도 있어 후보로만 표시합니다.
한 varint 비트열이 unsigned 정수나 ZigZag 부호 있는 정수로 해석될 수 있다는 뜻입니다. 선언형을 확인해야 값을 정할 수 있습니다.
아니요. gRPC 프레임 헤더와 압축을 먼저 제거한 뒤 원시 Protobuf 메시지 바이트를 입력해야 합니다.
아니요. 붙여 넣은 바이트와 스키마는 이 브라우저에서 처리하며 서버로 업로드하지 않습니다.
지원해야 할 정의에서 문제가 생겼나요?
Protobuf 디코더의 바이트 오프셋과 원본 hex를 캡처와 맞춰 보고, 필요한 경우 .proto 선언으로 실제 뜻을 확인하세요.