Expand description
Variable-length integer encoding (varint) for compact storage.
This module provides optimized encoding and decoding of unsigned integers using a compact variable-length format. Smaller values use fewer bytes.
§Format
Each byte uses 7 bits for data and 1 bit as a continuation flag:
- Bit 7 (MSB): 1 = more bytes follow, 0 = last byte
- Bits 0-6: Data bits (little-endian)
§Examples
// Small values use 1 byte
assert_eq!(encode_varint(127), vec![127]);
// Larger values use multiple bytes
assert_eq!(encode_varint(300), vec![0xAC, 0x02]);
// Decode returns (value, bytes_consumed)
assert_eq!(decode_varint(&[0xAC, 0x02]), (300, 2));Functions§
- decode_
varint - Decodes a variable-length integer from a byte slice.
- encode_
varint - Encodes an unsigned integer as a variable-length byte sequence.