免费在线gRPC消息解码工具,解析gRPC帧头、压缩标志、消息长度,解码Protobuf wire format。无需注册,数据不上传服务器。 | 无需注册 · 数据绝不上传服务器
零依赖·可离线使用解析gRPC帧头、压缩标志、消息长度,解码Protobuf wire format字段
零依赖 · 可离线使用📝 gRPC消息输入
❓ 常见问题
什么是gRPC消息帧?
gRPC消息帧由5字节帧头(1字节压缩标志+4字节消息长度)和消息体组成,用于HTTP/2传输Protobuf编码的数据。
什么是Protobuf wire format?
Protobuf wire format是Protocol Buffers的二进制编码格式,每个字段由varint编码的field_number+wire_type和对应的值组成。
支持压缩消息吗?
工具可以检测压缩标志位,但当前版本不支持解压缩GZIP压缩的payload,会提示消息已压缩。
数据会上传到服务器吗?
不会。所有解码在浏览器本地完成。
支持哪些wire type?
支持所有标准wire type:0(Varint)、1(64-bit)、2(Length-delimited)、3/4(已废弃)、5(32-bit)。
可以解码嵌套消息吗?
支持。wire type 2(Length-delimited)的字段会尝试递归解码嵌套的Protobuf消息。
gRPC消息解码器能做什么?
gRPC消息解码器是一款免费在线开发者工具,能够解析gRPC消息帧结构,包括5字节帧头(压缩标志+消息长度)和Protobuf编码的消息体。自动解码Protobuf wire format,展示每个字段的field_number、wire_type和值。支持嵌套消息递归解码。适用于gRPC调试、Protobuf协议分析和微服务通信排障。所有解析在浏览器本地完成,数据绝不上传服务器。
核心功能
- gRPC帧头解析:解析5字节帧头,展示压缩标志和消息长度
- Protobuf wire format解码:自动解析varint/64-bit/32-bit/length-delimited等wire type
- 嵌套消息递归解码:wire type 2的字段自动尝试递归解码嵌套消息
- 多格式输入:支持十六进制和Base64两种输入格式
- 压缩检测:自动检测GZIP压缩标志
使用教程
1. 选择输入格式(十六进制或Base64),粘贴gRPC消息数据。
2. 点击"解码"按钮或使用Ctrl+Enter快捷键。
3. 查看gRPC帧头和Protobuf字段的详细解析结果。
4. 点击"复制结果"复制解析结果,或下载为JSON文件。
应用场景
场景1:gRPC调试
开发者在调试gRPC微服务通信时,通过抓包获取二进制数据,使用本工具解析消息结构和字段值。
场景2:Protobuf协议分析
分析未知的Protobuf消息格式,通过wire format解码推断字段类型和结构。
场景3:微服务排障
运维人员在排查gRPC服务间通信问题时,分析消息帧定位数据异常。
扩展知识
gRPC使用HTTP/2作为传输层,消息以Length-Prefixed Message格式传输:1字节压缩标志(0=未压缩,1=GZIP压缩)+4字节消息长度(big-endian)+消息体。消息体使用Protocol Buffers编码,每个字段由tag(field_number<<3|wire_type)和值组成。Wire type定义:0=Varint(int32/int64/bool/enum),1=64-bit(fixed64/sfixed64/double),2=Length-delimited(string/bytes/嵌套消息),5=32-bit(fixed32/sfixed32/float)。Varint编码使用7bit分组+MSB续位标志,小数值编码效率高。