Страница 214 из 214

Clarion 11-12

Добавлено: 09 Январь 2026, 18:40
Игорь Столяров
С адресами всё отлично. Вопрос в том, на что они указывают.

Функции WinAPI W - на нативный UTF-16 с размером символа от 2/4 байта и зоной запрещённых значений.
Новый тип данных SV USTRING на всегда 2-х байтовый UTF-16 c "бонусом упрощения":
Fixed-width benefits: Most common characters (including all Latin, Cyrillic, Greek, and CJK characters in the Basic Multilingual Plane) use exactly 2 bytes, simplifying string indexing
И вот здесь будет проблема USTRING при вызове внеших функции UTF-16.
Т.е. это такой "неконвертируемый" UTF-16. Им можно пользоваться, но только внутри приложения на Clarion 12.

P/S: А кто-нибудь вообще слышал о греческих программистах ? Как-то у RZ на это идёт нездоровый упор.
Я понимаю, что в Грециии есть всё, в т.ч. и российско-украинские релоканты ... :D

Clarion 11-12

Добавлено: 09 Январь 2026, 18:48
finsoftrz
В utf-16 есть понятие суррогатная пара. Это позволяет кодировать символы за пределами базовой языковой плоскости. То есть, используется 4 байта на символ. А стандартно utf-16 это 2 байта на символ, позволяет закодировать символы основных языков.
Utf-8 это кодировка, в которой 1 символ может кодироваться переменным количеством байт, от 1 до 4. Экономится место, но усложняется обработка.

Clarion 11-12

Добавлено: 09 Январь 2026, 18:54
Игорь Столяров
finsoftrz писал(а): 09 Январь 2026, 18:48 В utf-16 есть понятие суррогатная пара
Всё абсолютно верно. Это называется UTF-16. А вот как называется то, что прикостылили к Clarion в виде USTRING ?

Clarion 11-12

Добавлено: 09 Январь 2026, 20:08
Дед Пахом
Да вроде USTRING это UTF-16 как он есть. По крайней мере я так понял из блога.

Clarion 11-12

Добавлено: 10 Январь 2026, 12:38
gopstop2007
Один в уме - пишем два. Правильно понял, это касается данных, которые не хранят данные а utf (например: TPS и аналогичные), для остальных например Sqlite, размер данных равен?