Aller au contenu
uencoder

Protobuf Wire Format

Le format de câble Protobuf est le schéma d'encodage binaire de Protocol Buffers : les champs sont sérialisés de manière compacte sous forme d'une balise (field_number, wire_type) plus une valeur de longueur variable.

Objectif

Il fournit une sérialisation structurée, efficace et rétrocompatible au sein de Google et dans gRPC.

Mécanisme

Chaque champ est encodé comme une balise Varint (field_number<<3 | wire_type) suivie de la valeur. Le type de câble détermine l'encodage de la valeur : 0 = Varint, 1 = 64 bits, 2 = délimité par la longueur, 5 = 32 bits. Les champs inconnus sont conservés pour accompagner l'évolution du schéma.

Cas d’usage

  • Encodage de transport gRPC
  • Stockage de données structurées
  • Communication mobile

Outils associés

References