Zum Inhalt springen
uencoder

Protocol Buffers

Protocol Buffers ist Googles sprachneutrales Binärserialisierungsformat; es erfordert eine .proto-Schemadefinition und ist kompakter und typsicherer als JSON/XML.

Zweck

Stark typisierten, kompakten und effizienten sprachübergreifenden Datenaustausch bieten, wobei Schemata die Kompatibilität garantieren.

Mechanismus

Eine .proto-IDL definiert Nachrichtentypen mit Feldnummern. Bei der Kodierung beginnt jedes Feld mit einem (field_number<<3 | wire_type)-Tag; Ganzzahlen nutzen Varint, Strings und verschachtelte Nachrichten Längenpräfixe. Unbekannte Felder bleiben vorwärtskompatibel. proto3 vereinfacht die Syntax.

Anwendungsfälle

  • gRPC-Transportprotokoll
  • Interne Datenspeicherung bei Google
  • Mobile APIs (Bandbreite sparen)
  • Konfiguration und Persistenz

Beispiele

  • Eingabe
    message User { string name = 1; }
    Output
    Binary encoding

    Requires protoc compilation

Häufige Fehler

Changing field numbers breaks compatibility
Once assigned, numbers must not be reused or changed

Verwandte Begriffe

Verwandte Tools

References