Подтвердить что ты не робот

Есть ли совместимый с STL и UTF-8 С++ Wrapper для ICU или другая мощная библиотека Unicode

Мне нужна хорошая библиотека Unicode для С++. Мне нужно:

  • Преобразования чувствительны к Unicode. Например, сортируйте все строки в режиме без учета регистра и получите их первые символы для индекса. Преобразование различных строк Unicode в верхний и нижний регистр. Разделите текст в разумной позиции - слова, которые будут работать и для китайцев, и для японцев.
  • Форматирование чисел, дат в чувствительном к языку пути (должно быть потокобезопасным).
  • Прозрачная поддержка UTF-8 (первичное внутреннее представление).

Насколько я знаю, лучшей библиотекой является ICU. Тем не менее, я не могу найти нормальную документацию API для разработчиков с примерами. Также, насколько я понимаю, это не слишком дружелюбно с современный дизайн на С++, работа с 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 не требуется.

Изменить: К сожалению, я не был зарегистрирован, поэтому я не могу принять ответ. Я сам приложил ответ.

4b9b3361

Ответ 2

wxWidgets В инструментах GUI есть несколько довольно классных классов строк и поддержка юникода. Вам не нужно создавать/использовать классы GUI, если вы этого не хотите. Подробнее см. здесь.