【发布时间】:2014-04-24 19:13:19
【问题描述】:
我希望一个函数“降低”(来自 word)在两种语言(例如英语和俄语)上正常工作。我应该怎么办?我应该使用std::wstring,还是可以使用std::string? 我也希望它是跨平台的,不要重新发明轮子。
【问题讨论】:
-
这是一个复杂的问题。确保您了解语言环境并已阅读以下内容:joelonsoftware.com/articles/Unicode.html
-
最后,为了让它正确,您不得不使用您选择的编码(首选 UTF-8)中的 unicode 字符串。没有为单个 unicode 代码点正确定义更改大小写(小写、大写、标题、折叠)。尽管如此,仍有许多语言对这些转换有相互矛盾的定义。
-
所以我应该使用unicode,还有什么?我确切地知道我将拥有哪些语言。两者之一。它无法提供帮助?
-
使用 ICU 的 boost 接口(又名 Boost.Locale)可能更简单,但您不会逃避安装 ICU。
-
@Ava_Katushka:我相信this function 与你想做的事情有关。
标签: c++ string wstring tolower