Protobuf Wire Format
Protobufワイヤーフォーマットは、Protocol Buffersのバイナリエンコーディング方式である。フィールドは (field_number, wire_type) タグと可変長値としてコンパクトにシリアライズされる。
目的
Google内部やgRPCで、効率的かつ後方互換性のある構造化データのシリアライズを提供する。
メカニズム
各フィールドは Varintタグ(field_number<<3 | wire_type)と値としてエンコードされる。ワイヤータイプが値のエンコード方式を決める:0 = Varint、1 = 64ビット、2 = 長さ区切り、5 = 32ビット。未知のフィールドは保持され、スキーマ進化をサポートする。
ユースケース
- gRPCの転送エンコーディング
- 構造化データのストレージ
- モバイル通信での利用