Varint
Ein Varint (Ganzzahl variabler Länge) ist die Ganzzahlkodierung variabler Länge, die Protobuf und andere Protokolle verwenden: Jedes Byte trägt 7 Nutzbits in den niedrigen Bits, und das höchstwertige Bit ist das Fortsetzungsflag.
Zweck
Ganzzahlen in Serialisierungsprotokollen kompakt darstellen — kleine Ganzzahlen brauchen sehr wenig Platz, große erweitern sich automatisch.
Mechanismus
Die vorzeichenlose Ganzzahl wird in 7-Bit-Gruppen zerlegt, von der niederwertigsten zur höchstwertigen ausgegeben; eine 1 im MSB eines Bytes bedeutet, dass weitere folgen, eine 0 markiert das Ende. Vorzeichenbehaftete Ganzzahlen werden zuerst per ZigZag auf vorzeichenlose abgebildet.
Anwendungsfälle
- Protobuf-Feldkodierung
- Variablange Datenbankspalten
- Kompakte binäre Protokolle