Image

Category:

Довольно часто бывают такие ситуации когда строку или символ в utf-8 над привести к верхнему или нижнему регистру, посчитать длину utf8 строки и т.п.
Линковать свой проект для этого с ICU или Glib либо неудобно, либо нет смысла.

Проблему в какой-то мере решает Chacu (CHArset Conversion Utility) - маленькая и легкая библиотека С, реализующая uppercase/lowercase для строк и символов utf-8.


Таблицы преобразований взяты с сайта IBM:

Unicode uppercase to lowercase conversion mapping table
http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/nls/rbagslowtoupmaptable.htm&tocNode=int_39939

Unicode lowercase to uppercase conversion mapping table
http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/nls/rbagslowtoupmaptable.htm&tocNode=int_39940

Соответственно, поддерживается весь UCS-2.

Скачать исходники можно здесь: http://reki.ru/products/chacu/chacu-0.0.1.tar.gz

Интерфейс библиотеки настолько прост, что примера в tests более чем достаточно. Если совсем необходимо - можно построить документацию посредством doxygen.

Написано на C.
Лицензия - BSD.

Если есть пожелания что добавить - пишите сюда. Багрепорты тоже приветствуются.

Все, кто пользуется ICU/Glib и считает что этого вполне достаточно - могут продолжать пользоваться ICU/Glib. Флеймить здесь не надо - ваш флейм и троллинг все равно не оценят.