It’s amusing to think, back when Unicode was coming about, that we thought that 16 bits was enough to encode every character out there. Java was famous for this break from C, which stuck with 8 bits. But even this wasn’t enough, and they had to bodge some code-point methods to their String library.