C++ 中的 Unicode 处理

2021-12-26 00:00:00 unicode c++

在 C++ 中处理 Unicode 的最佳实践是什么?

What is the best practice of Unicode processing in C++?

推荐答案

  • 使用 ICU 处理您的数据(或类似的库)
  • 在您自己的数据存储中,确保所有内容都以相同的编码存储
  • 确保您始终使用您的 unicode 库来处理字符串长度、大写状态等日常任务.切勿使用标准库内置函数,例如 is_alpha,除非这是您想要的定义.
  • 我不能说太多:永远不要迭代string的索引,如果您关心正确性,请始终为此使用您的 unicode 库.
    • Use ICU for dealing with your data (or a similar library)
    • In your own data store, make sure everything is stored in the same encoding
    • Make sure you are always using your unicode library for mundane tasks like string length, capitalization status, etc. Never use standard library builtins like is_alpha unless that is the definition you want.
    • I can't say it enough: never iterate over the indices of a string if you care about correctness, always use your unicode library for this.

相关文章