Alexey Pechnikov wrote: > В сообщении от Sunday 18 January 2009 19:35:08 Serhiy Storchaka > написал(а): >> Alexey Pechnikov wrote: >> > А где в системе библиотека для работы с юникодом? Рекомендованной вами >> > libunicode в дебиане нет. >> >> Как это нет? Пакеты libunicode0 и libunicode-dev. > > Таких пакетов нет. На хосте с ленни:
В этче есть. >> > Еще вопрос по последней - в ней используется >> > utf-16, хотя хотелось бы работать со стандартным для линукса utf-8, >> >> Есть и UTF-8, и UTF-16, и UTF-32, разных эндингов, и конвертация в другие >> кодировки (неплохая компактная переносимая альтернатива iconv получается, >> как я погляжу). > > Все операции выполняются с utf-16. Это что же, конвертить в utf16 и > обратно при каждом преобразовании? Стандарт в линуксе это utf-8. Нет, функции работают преимущественно с UTF-32 или UTF-8. Откуда UTF-16? >> В этой библиотеке нет функции сравнения строк. Для правильного сравнения >> похоже и нужны мегабайты libicu. > > Зачем она тогда нужна? unaccent делать не умеет, сравнивать не умеет... Уникодные аналоги ctype.h, плюс кое-какие функции для работы с UTF-8, плюс конвертация. Если не смущает зависимость от локали и переносимость за пределы линукса, то всё это делается стандартными функциями C99 для работы с широкими и многобайтовыми символами (man -k multibyte wide-character 'wide character') и iconv. В линуксе, кстати, представление wchar_t будет совпадать с UTF-32. > Возвращаясь к вопросу - какую стандартную либу дебиана брать для работы с > юникодом? Нужно преобразование регистра, towlower, towupper, wctrans+towctrans. > удаление акцента, libunac, возможно wctrans+towctrans. > сравнение > (согласен на базовый юникодное, хотя возможность указания кодовой страницы > будет полезна). wcscmp, strcmp строк в UTF-8. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org