gpt4 book ai didi

c++ - ICU 与 C++ 中的 Boost 语言环境

转载 作者:IT老高 更新时间:2023-10-28 22:20:11 28 4
gpt4 key购买 nike

我正在考虑使用 ICU 或 Boost Locale。

各有什么优缺点?

我知道两者都使用 ICU,但 ICU 被 Boost Locale 隐藏。根据Boost Locale's rationale page : "...整个 ICU API 隐藏在不透明的指针后面,用户无权访问它。"

在比较这些库时,请考虑 C++11 中的新 Unicode 功能。

最佳答案

ICU 是非常好的库,但它也有缺点:

  1. 就现代 C++ 设计而言,该 API 很糟糕,并且不能很好地与标准 C++ 库配合使用
  2. 它是面向 UTF-16 的
  3. 它的消息翻译工具远非完美,这就是Boost.Locale使用Gettext模型的原因

见: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++ 应用程序。

关于c++ - ICU 与 C++ 中的 Boost 语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494396/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com