То есть полностью заменить представление о символе как о байте на символ из четырёх байт.
Собственно в Питоне это уже сделано,
"В GNU/Linux тип wchar_t имеет размер 32 бита. "
То есть всё располагает (и располагало сразу) к этому, но возможно есть некое предвзятое отношение к UTF-32, например, http://www.codenet.ru/progr/other/FPC-Unicode.php :
. Почему же это "экзотично", как раз наоборот. Юникод по смыслу четырёхбайтный, в системе wchar_t четырёхбайтный. Вместо этого широко распространилась какая-то неудачная полумерная 16-битная реализация, которая ни то ни сё.Управление строками на низком уровне, требующее поддержки компилятора полностью реализовано, за исключением, разве что совсем экзотических UTF-32 и UCS4 кодировок.
Тогда проблема с Length(s) которая выдаёт непонятное значение и прямым индексированием широких строк исчезнет.