Is there an STL and UTF-8 friendly C++ Wrapper for ICU, or other powerful Unicode library [closed]

喜欢而已 提交于 2019-11-27 13:36:48

问题


I need a good Unicode library for C++. I need:

  1. Transformations in a Unicode sensitive way. For example sort all strings in a case insensitive way and get their first characters for index. Convert various Unicode strings to upper and to lower case. Split text at a reasonable position -- words that would work for Chinese and Japanese as well.
  2. Formatting numbers, dates in locale sensitive way (should be thread safe).
  3. Transparent support of UTF-8 (primary internal representation).

As far as I know the best library is ICU. However, I can't find normal developer friendly API documentation with examples. Also as far as I see, it is not too friendly with modern C++ design, work with STL and so on. Like this:

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;

Is there a good STL friendly ICU wrapper released under Open Source license? Preferred is a license permissive like MIT or Boost, but others, like LGPLv2 compatible, are OK as well.

Is there another high quality library similar to ICU?

Platform: Unix/POSIX, Windows support is not required.

Edit: unfortunately I wasn't logged in, so I can't make accept an answer. I have attached the answer by myself.


回答1:


This question was asked quite a long time before by myself. There was no such library.

So I had written C++ friendly Boost.Locale library that wraps ICU.

  • Docs: http://cppcms.sourceforge.net/boost_locale/html/
  • Sources: https://sourceforge.net/projects/cppcms/files/

Edit Now part of Boost: see Boost.Locale documentation




回答2:


The wxWidgets GUI toolkit has some rather nice string classes and unicode support. You don't need to build/use GUI classes if you don't want to. See here for details.




回答3:


Does this fit the bill?

http://www.codeproject.com/KB/string/utf8cpp.aspx



来源:https://stackoverflow.com/questions/511280/is-there-an-stl-and-utf-8-friendly-c-wrapper-for-icu-or-other-powerful-unicod

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!