[oodisc] eIAEOI?EA ?AEII? iiI ?

alexey lubimov avl на l14.ru
Вт Мар 1 13:59:37 MSK 2005


Serge Skorokhodov wrote:

>Hello alexey,
>
>al> Сказать по честному, никаких усложнений при работе с текстом
>al> в utf8 нет. Меняется алгоритм работы с текстом, а не его
>al> сложность. С небольшими строками вообще изменений - ноль.
>
>Алексей, не передергивайте. Проблема как раз в том, что они
>_ИМЕННО_ есть. Поскольку строка UTF-8 _не является_ массивом
>одного основного типа, а sizeof(символ) не является константой
>времени компиляции.
>  
>
использовать текст как массив в общем случае чревато. Текст все равно 
переменной длинны.

>Отсюда два вывода:
>
>а) снижение эффективности из-за невозможности в общем случае
>использовать адресную арифметику, как средство низкоуровневой
>оптимизации. Это снижение может быть значительным и мириться с
>ним не всегда возможно.
>  
>
Если вам нужна адресная арифметика - используйте массив указателей на 
char или gchar.
Обычно текст обрабатывается либо построчно либо потоковым образом с 
сохранением конечного числа указателей-закладок.
И в том и другом случае сложность работы с utf или не utf не меняется.

>б) необходимость строгой дисциплины программирования т.е. либо
>"сквозное" использование специальных функций для обращения к
>отдельному символу, либо подходящего строкового класса. Вот с
>этим-то самые большие "траблы", и в проприетарном мире, и в
>свободном. Блин, сколько приходилось заниматься любимым видом
>спорта: ловлей general protection fault в чужом коде при
>"прикручивании" юникода. :)
>  
>
это как раз проблема перехода на юникод.
такие проблемы встречаются и при переходе на двухбайтный юникод не 
говоря про четырехбайтный.
простов одном случае это проблемы смены алгоритма, а в другом - 
многочисленые потери места.

>  
>
>------------------------------------------------------------------------
>
>_____________________________________________________
>Oo-discuss mailing list
>Oo-discuss at openoffice.ru
>https://lists.openoffice.ru/mailman/listinfo/oo-discuss
>  
>



Подробная информация о списке рассылки Oo-discuss