Модератор: Модераторы
xdsl писал(а):Честно говоря, меня утомили ЧСВ и графомания уважаемого alexey38. Подожду, пока эмбаркадеро и майкрософт свои сайты с utа-8 на utf-16 или utf-32 переведут. А пока - до свидания, наскучило...
hovadur писал(а):А ведь в самом деле у utf-16 переменная длина символа, может быть 2 или 4 байта. Тогда теряется основное преимущество перед UTF-8 - легкость разработки строковых функций. Что на это скажешь alexey38?
SSerge писал(а):Коллеги, речь о какой либо эффективности кодировок можно было вести в 90-х. Сейчас же, когда с кодировками принято работать исключительно на уровне библиотек, получивших принадлежность операционной системе, остаётся констатировать, что какую бы кодировку вы не применили, она будет однозначно неэффективной. Особенно в том, что касается операций упорядочивания символов, зависящих от локалей ОС.
SSerge писал(а):Мало того, что обладают всеми недостатками Си-шных ASCIIZ строк - де не содержат текущей длины, являются указателями и т.п., так еще появляется знаменитая генерация побочных строковых объектов при присвоениях, обходя которую, надо творить, гм, отвратительный и нечитабельный код. Не знаю, как там луч поноса в сторону создателя UTF8, а вот в сторону автора реализации AnsiString в дельфи - определенно не мешало бы. Ну а если задуматься над тем, что сейчас в дельфи уже каждая строка имеет индивидуальный признак кодировки и все присвоения повлекут за собой по минимуму сравнение соответствий кодировок, а по максимуму - постоянную неявную конверсию из одной кодировки в другую, так строки будут еще более неэффективными. И тут будет. Точнее, уже есть, только все предпочитают не замечать
alexey38 писал(а):Перечитайте тему с самого начала, там об этом уже говорилось. Если кратко, то именно UTF-32 самый оптимальный, в части алгоритмов строковых обработок. Работая с UTF-16 конкретно с русским языком, можно при необходимости реализовать строковые функции, не учитывающие 4-х байтовые символы. Это не универсально, но работоспособно. UTF-8 для русскоязычных задач очень плох.
hovadur писал(а):То есть ты согласен, что UTF-16 тоже плох, как и UTF-8, с точки зрения реализации строковых функций?
alexey38 писал(а):Конечно согласен.
hovadur писал(а):Тогда получается, что UTF-8 лучше, чем UTF-16, так как у UTF-8 есть совместимость с ASCII-символами. Даже у UTF-8 с BOM есть совместимость с ASCII-символами.
dunin писал(а):в теме про "Забавный и досадный глюк" перспективы кодировки UTF-8...
dunin писал(а):Я за UTF-8
alexey38 писал(а):Как строковый тип переменных в языке UTF-8 - самый плохой тип
hovadur писал(а):но ведь UTF-16 еще хуже, так как у него нет совместимости даже с ASCII-символами. Ведь так?
alexey38 писал(а):UTF-8 не совместим с ASCII-символами - это наиболее точное определение.
Section=Auto
alexey38 писал(а):UTF-8 не совместим с ASCII-символами - это наиболее точное определение.
hovadur писал(а):Не понял, ведь ASCII-символы - это 1 байт.
SSerge писал(а):Кстати, ничего, что сами по себе строковые типы в нынешней реализации паскаля являются категорически неэффективными?
Мало того, что обладают всеми недостатками Си-шных ASCIIZ строк - де не содержат текущей длины, являются указателями и т.п.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 100