Protobuf 解析器

༐ Protobuf Parser

📐 工作原理與說明
解析 Protocol Buffers 的二進位制編碼結構。
  • 編碼:每個欄位為 key + value,key 是 varint,等於 (字段号 << 3) | wire_type。
  • wire type:0 為 varint、1 為 64 位、2 為長度字首(字串/巢狀/位元組)、5 為 32 位。
  • varint:每位元組低 7 位存資料,最高位為 1 表示還有後續位元組,小端排列。
  • 侷限:無 .proto 時只能還原欄位號與原始值,欄位名與型別需 schema 才能確定。

Parse and inspect Protocol Buffer messages in your browser — decode binary schemas.

等待输入...

📚 深度解析:Protobuf 解析器

💡 常見使用場景

  • 按 .proto 解析二進位制訊息(需 schema)。
  • 抓包排查 gRPC 介面:用 .proto 定義解析二進位制訊息,看清欄位值,而不是對著十六進位制猜。
解析
給定 message User{string name=1} 與位元組流 → {name:"Tom"}。

❓ 常見問題(FAQ)

無 schema 能解析嗎?
不能,Protobuf 自描述弱,需 .proto。
為什麼解析出來的欄位對不上?
多半是 schema 版本不一致:Protobuf 靠欄位編號(而非名稱)識別字段,收發雙方若用了不同版本的 .proto,同一個編號會被解釋成完全不同的含義,且不會報錯。因此必須保證解析用的 .proto 與傳送方完全一致,並做好向後相容(不復用已廢棄的編號)。
⚠️ 使用說明與注意事項
已複製
📖關於「Protobuf 解析器」 ▼

📝工具簡介

Protobuf 解析器。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。