UTF-8 is a variable-width encoding, meaning that not all characters are encoded in the same number of
bytes. In UTF-8, ASCII characters — i.e. those with code points less than 0x80 (128) — are encoded as
they are in ASCII, using a single byte, while code points 0x80 and above are encoded using multiple
bytes — up to four per character. This means that not every byte index into a UTF-8 string is necessarily
a valid index for a character.