17 c++ unicode boost icu c++11
我正在考虑使用ICU或Boost Locale.
各自的优点和缺点是什么?
我知道两者都使用ICU,但是ICU被Boost Locale隐藏.根据Boost Locale的基本原理页面:"......整个ICU API隐藏在不透明指针之后,用户无法访问它."
在比较这些库时,请考虑C++ 11中的新Unicode功能.
Art*_*yom 16
ICU是非常好的库,但它有缺点:
请参阅:http://www.boost.org/doc/libs/1_49_0/libs/locale/doc/html/rationale.html#why_icu
Boost.Locale以C++方式进行本地化,并允许使用除ICU之外的其他后端(当然ICU更好),因此在许多情况下Boost.Locale为您提供更好的本地化替代方案,因为它更简单,专为现代C++而设计更容易使用.
当然,如果您需要Boost.Locale不支持的非常复杂的算法,或者您的应用程序所做的全部是Unicode处理,那么ICU可能会更好,除了Boost.Locale更适合本地化C++应用程序.
ICU是由国际化专家设计的,而boost是由C++程序员设计的。
虽然 C++ 强大且优雅,但 boost 在国际化方面存在很多错误。现在,boost 是一个库的大集合,其中一些库比其他库做得更好。但 ICU 自始至终都很稳固,除了 Microsoft 之外,几乎所有公司都将其用作基础。
因此,如果你想要扎实的国际化,就选择 ICU。如果你想要最先进的 C++(但 i18n 有点不稳定),那就去 boost。
| 归档时间: |
|
| 查看次数: |
9838 次 |
| 最近记录: |