Instead of bytes, we can also use a different “unit of alignment”: 32 bits (words), 16 bits, 4 bits (nibbles).
Variable byte alignment wastes space if you have many small gaps – nibbles do better in such cases.
Variable byte codes:
Used by many commercial/research systems
Good low-tech blend of variable-length coding and sensitivity to computer memory alignment matches (vs. bit-level codes, which we look at next).
There is also recent work on word-aligned codes that pack a variable number of gaps into one word