Обыно валидные символы для начала и середины токена не привышают значение 65500 в codepoint метрики, это значит что вместо UTF32 вполне можно обойтись 16-bit на символ (UCS-2 кодировка)
Ага, а потом огребать от:
* суррогатных пар
* порядка байт
* увеличение потребления памяти по сравнению с ASCII в два раза
Нет уж, UTF-16 — это отвратительный компромисс