Aller au contenu
uencoder

Protocol Buffers

Protocol Buffers est le format de sérialisation binaire indépendant du langage de Google ; il exige un schéma .proto et est plus compact et plus sûr par types que JSON/XML.

Objectif

Fournir un échange de données inter-langages fortement typé, compact et efficace, les schémas garantissant la compatibilité.

Mécanisme

Un IDL .proto définit des types de messages avec numéros de champs. À l'encodage, chaque champ commence par une balise (field_number<<3 | wire_type) ; les entiers utilisent varint, les chaînes et messages imbriqués des préfixes de longueur. Les champs inconnus restent compatibles avec le futur. proto3 simplifie la syntaxe.

Cas d’usage

  • Protocole de transport gRPC
  • Stockage de données interne chez Google
  • APIs mobiles (économie de bande passante)
  • Configuration et persistance

Exemples

  • entrée
    message User { string name = 1; }
    Output
    Binary encoding

    Requires protoc compilation

Erreurs courantes

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

Termes associés

Outils associés

References