VByte
VByte (octet variable) est un schéma qui encode un entier non négatif en octets de longueur variable : chaque octet porte 7 bits de charge utile, le bit le plus significatif servant d'indicateur de continuation.
Objectif
Stocker et transporter de façon compacte des séquences d'entiers quand les petites valeurs dominent, comme les écarts d'identifiants de documents dans les index inversés.
Mécanisme
Les groupes de 7 bits de l'entier sont écrits du poids faible au fort ; le bit le plus haut d'un octet vaut 0 pour l'octet final et 1 quand d'autres suivent. Les petits entiers (< 128) n'ont besoin que d'un octet, et les valeurs plus grandes s'étendent à la demande.
Cas d’usage
- Encodage des IDs de documents dans les index inversés
- Champs entiers de longueur variable dans les bases de données
- Longueurs variables dans les en-têtes de protocole