> […] why limit yourself to 24-bit numbers?
For compatibility with UTF-16:
o Restricted the range of characters to 0000-10FFFF (the UTF-16
accessible range).
* https://datatracker.ietf.org/doc/html/rfc3629#section-12* https://en.wikipedia.org/wiki/UTF-16
The original spec had 31 bits (the UTF-32/UCS-4 range):