Varint
Un Varint (entero de longitud variable) es la codificación entera de longitud variable usada por Protobuf y otros protocolos: cada byte lleva 7 bits de carga en sus bits bajos y el bit más significativo es el indicador de continuación.
Propósito
Representar enteros de forma compacta en protocolos de serialización: los enteros pequeños ocupan muy poco espacio y los grandes se extienden automáticamente.
Mecanismo
El entero sin signo se divide en grupos de 7 bits emitidos del menos al más significativo; un 1 en el MSB de un byte significa que hay más bytes, y un 0 marca el final. Los enteros con signo se mapean primero a sin signo mediante ZigZag.
Casos de uso
- Codificación de campos en Protobuf
- Columnas de base de datos de longitud variable
- Protocolos binarios compactos