Мне нужна хорошая библиотека Unicode для C++. Мне нужно:Есть ли совместимая с C++ оболочка STL и UTF-8 для ICU или другая мощная библиотека Unicode
- Преобразования в чувствительном для Unicode пути. Например, сортируйте все строки в режиме без учета регистра и получите их первые символы для индекса. Преобразование различных строк Unicode в верхний и нижний регистр. Разделите текст в разумной позиции - слова, которые будут работать и для китайцев, и для японцев.
- Форматирование чисел, дат в соответствии с местными правилами (должно быть потокобезопасным).
- Прозрачная поддержка UTF-8 (первичное внутреннее представление).
Насколько я знаю, лучшая библиотека - это отделение интенсивной терапии. Тем не менее, я не могу найти нормальную документацию API для разработчиков с примерами. Также, насколько я вижу, он не слишком дружелюбен с современным дизайном C++, работой с STL и т. Д. Например:
std::string msg;
unistring umsg.from_utf8(msg);
unistring::word_iterator wi;
for(wi=umsg.words().begin(),n=0;wi!=usmg.words().wi_end(),n<10;++wi,++n)
;
msg=umsg.substr(umsg.words().begin(),wi).to_utf8();
cout<<_("Five 10 words are ")<<msg;
Есть ли хорошая совместимая оболочка ICU, совместимая с STL, выпущенная под лицензией Open Source? Предпочтительным является разрешающая лицензия, такая как MIT или Boost, но другие, такие как совместимые с LGPLv2, также в порядке.
Есть ли еще библиотека высокого качества, подобная ICU?
Платформа: Unix/POSIX, поддержка Windows не требуется.
Редактировать: К сожалению, я не был зарегистрирован, поэтому я не могу принять ответ. Я сам приложил ответ.
OOH, +1 на этот вопрос. Непонятно, что большая библиотека, подобная ICU, полностью не соблюдает общие идиомы C++. – jalf