当前位置:  开发笔记 > 编程语言 > 正文

是否有用于ICU的STL和UTF-8友好C++包装器,或其他强大的Unicode库

如何解决《是否有用于ICU的STL和UTF-8友好C++包装器,或其他强大的Unicode库》经验,为你挑选了1个好方法。

我需要一个很好的C++的Unicode库.我需要:

    以Unicode敏感的方式进行转换.例如,以不区分大小写的方式对所有字符串进行排序,并获取其索引的第一个字符.将各种Unicode字符串转换为大写和小写.在合理的位置拆分文本 - 对中文和日文也适用的单词.

    以区域设置敏感的方式格式化数字,日期(应该是线程安全的).

    透明支持UTF-8(主要内部表示).

据我所知,最好的图书馆是ICU.但是,我找不到包含示例的普通开发人员友好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 ")<

在开源许可证下是否有一个好的STL友好ICU包装器?首选是许可许可,如MIT或Boost,但其他,如LGPLv2兼容,也可以.

还有另一个类似于ICU的高质量图书馆吗?

平台:Unix/POSIX,不需要Windows支持.

编辑:不幸的是我没有登录,所以我无法接受答案.我自己也附上了答案.



1> Artyom..:

这个问题在很久以前就被我自己问了.没有这样的图书馆.

所以我编写了C++友好的Boost.Locale库来包装ICU.

文档:http://cppcms.sourceforge.net/boost_locale/html/

来源:https://sourceforge.net/projects/cppcms/files/

现在编辑 Boost的一部分:请参阅Boost.Locale文档

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有