А если вспомнить историю появления С12, то может быть предназначено только для работы с базами хранящими юникодИгорь Столяров писал(а): 05 Май 2026, 16:54 то 2-х байтное кодирование сторок в UTF-16 может быть
предназначено только для отображения многоязычного текста внутри интерфейса приложения при поддержке RTL Clarion.
Clarion 11-12
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Губин Игорь
- Шубуршун
- Сообщения: 2810
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 12 раз
- Поблагодарили: 31 раз
Clarion 11-12
Это я только кажусь дураком! На самом деле я полный идиот!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8632
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 37 раз
- Поблагодарили: 132 раза
Clarion 11-12
Проблема в том, что "двух-байтовый UTF-16" приснившийся Роберту как спасение, не является общеприной спецификацией
UTF-16 и не может использоваться для взаимодействия с БД в формате UTF-16. А вот внутри RTL Clarion - запросто !
За теми, кто отстал, не возвращаться !
Кодекс
- Губин Игорь
- Шубуршун
- Сообщения: 2810
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 12 раз
- Поблагодарили: 31 раз
Clarion 11-12
Игорь Столяров писал(а): 05 Май 2026, 17:19 не может использоваться для взаимодействия с БД в формате UTF-16. А вот внутри RTL Clarion - запросто
Это я только кажусь дураком! На самом деле я полный идиот!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8632
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 37 раз
- Поблагодарили: 132 раза
Clarion 11-12
Спецификация UTF-16 сейчас использует 2-4 байтное кодирование символов.![]()
За теми, кто отстал, не возвращаться !
Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 25 раз
- Поблагодарили: 88 раз
Clarion 11-12
UTF-16 это стандарт, принятый в Microsoft. Все в win api для 64 бит построено с использованием utf-16. MS SQL нативно поддерживает хранение информации в utf-16. Utf-8 придумали во времена медленного интернета с целью обеспечить передачу через сеть информации в более сжатом виде. При этом скорость операций со строками в utf-8 существенно ниже, чем со строками в utf-16. Поскольку Clarion затачивается под работу на Windows, то выбор utf-16 в качестве стандарта вполне объясним. Другое дело, как это будет реализовано. Если будет. Я так подозреваю, что пришло время собрать с лошков плату по подписке, сколько получится. А для этого выкатить тот же С12 (с исправлением пары мелких багов или совсем без изменений) и ту сырую версию с ustring, которая была несколько лет назад.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8632
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 37 раз
- Поблагодарили: 132 раза
Clarion 11-12
Я тоже говорил о том, что Роберт изображает видимость работы и пытается продать наработки прошлых лет.
Там, кроме UTF-16, были ещё наработки интерфейса StatusBar, обновление формата PDF и перевод отчётов на EMF.
Основная проблема с UTF-16 в том, что 8 лет назад (если не ошибаюсь) это позицировалось именно как интерфейсный
прибамбас. А это намного проще. Формально Роберт прав - изначально, первые спецификации UTF-16 были 2-х байтными.
Но 65 535 символов оказалось слишком мало (спасибо Южно-Азиатским странам, а также моде на смайлики в тексте).
Сейчас UTF-16 имеет плавающую разрядность от 1 до 4 байт и именно так реализован в основных БД.
SV не может сделать такую полноценную реализацию и задача Роберта вывести 2-х байтный UTF-16 на подписку Clarion 13.
Как я понимаю, этого хватает, что бы уйти в штопор на год, а дальше он не думает.
За теми, кто отстал, не возвращаться !
Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 25 раз
- Поблагодарили: 88 раз
Clarion 11-12
utf-16 предполагает 2 байта на символ. Это покрывает потребность в поддержке всех основных языков. Для поддержки редких языков и всяких смайликов используются суррогатные пары, то есть это 4 байта на символ. Переменное количество байт на символ это в utf-8.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8632
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 37 раз
- Поблагодарили: 132 раза
Clarion 11-12
Да. Но все БД используют полную спецификацию UTF-16. Двухбайтовая реализация подходит для интерфейса,
где мы изначально можем определять наборы символов и языки. А вот что будет получено из БД в UTF-16 непредсказуемо.
где мы изначально можем определять наборы символов и языки. А вот что будет получено из БД в UTF-16 непредсказуемо.
За теми, кто отстал, не возвращаться !
Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 25 раз
- Поблагодарили: 88 раз
Clarion 11-12
Насколько я читал, utf-16 поддерживает ms sql и еще кто-то упоминался. Большинство других хранят данные в utf-8 и не поддерживают utf-16. MS Sql тоже может опционально в utf-8.
Все, кто использует utf-16, должны поддерживать расширение до 4 байт на символ (суррогатные пары). Но RZ так далеко не думал, наверно пока.
Все, кто использует utf-16, должны поддерживать расширение до 4 байт на символ (суррогатные пары). Но RZ так далеко не думал, наверно пока.
C6/C12, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8632
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 37 раз
- Поблагодарили: 132 раза
Clarion 11-12
ORACLE точно поддерживает UTF-16. В контексте кодировки БД важно бесшовное соединение с интерфейсом.
Это мы привыкли уже c SV постоянно кодировать-декодировать, а у белых людей всё намного проще ...
За теми, кто отстал, не возвращаться !
Кодекс
