, no code is a prefix of another code.
Any optimal character code has an equally optimal prefix code.
Easy encoding and decoding.
Once a string of bits matches a character code, output that character with no ambiguity (no need to look ahead).
Use a binary tree for decoding.