Да, я тоже думаю, что это ошибочный подход. Длину у STRING понять можно, это позволяет быстро выделять память под фиксированное количество байт. В случае с юникодом на один символ может приходиться разное количество байт, поэтому строка может иметь переменную длину. Размерность ustring можно оставить в синтаксисе языка для обратной совместимости, как это сделано в sqlite. То есть, мы там можем задать myfield char(100), но на самом деле поле будет содержать столько байт, сколько туда записали.Игорь Столяров писал(а): 12 Январь 2026, 19:27 Мне вообще не нравится, что USTRING имеет размер. Это просто очередное натягивание совы на глобус ...
Судя по тому, что написал RZ, он решил, что пока сойдет 2 байта на символ. Но все равно придется переходить на строки с переменной длиной, заново переписывая соответствующий код в компиляторе и рантайме.
