Protobuf ⇄ JSON 互转解码器
把抓到的 protobuf 报文 hex / base64 粘贴进来,按 wire format 逐字段解码:varint、zigzag、fixed32/64、length-delimited 与嵌套 message 全部还原成字段树和 JSON;反向也能把字段号 JSON 编码回二进制报文。全程浏览器本地运行,报文不外传。
输入
解码:粘贴报文字节;编码:粘贴「字段号为键」的 JSON。
输出
字段树(未知 schema 时以字段号标识,自动尝试嵌套 message / UTF-8 字符串 / 原始 hex)。
- 等待转换…
// 解码结果 JSON 将显示在这里
编码产物:hex 字节流与 base64,可下载 .bin 原始报文。
// hex 输出
// base64 输出
wire type 速查表
每个字段以 key = (字段号 << 3) | wire type 的 varint 开头,据此逐段切分报文。
| wire type | 编码方式 | 对应 proto 类型 | 长度 |
|---|---|---|---|
| 0 | Varint(7bit 分组,低位在前) | int32 / int64 / uint32 / uint64 / sint32 / sint64 / bool / enum | 1–10 字节 |
| 1 | Fixed64(小端) | fixed64 / sfixed64 / double | 8 字节 |
| 2 | Length-delimited(varint 长度 + 内容) | string / bytes / message / repeated 打包 | 变长 |
| 3 / 4 | Start / End Group | 已废弃的 group 语法 | — |
| 5 | Fixed32(小端) | fixed32 / sfixed32 / float | 4 字节 |
批量解码 · wire 字节构成 · CSV 导出
每行粘贴一条抓包报文,自动识别 HEX 或 Base64 逐条解码;第一条成功报文的字段字节占比用堆叠条展示,全部结果可导出 CSV。
单行解析失败不影响其他行;编码模式不支持批量,请切回「报文 → JSON」。
| # | 输入 | 字节 | 字段 | JSON 摘要 | 状态 |
|---|
方案管理 · 数值对比 · 导出
调好的参数可存成方案随时载入,也能生成可分享链接;结果里的数值列会自动画成对比图,并支持导出 CSV / JSON。

还没有留言,来抢沙发吧!