有人可以解释一下下面的 example有用吗?
如果不使用 boost::locale::to_upper 而不是 boost::to_upper,我不明白这是如何工作的?
boost::to_upper 会使用 locale::global 吗?我认为常规方面/区域设置不支持 utf-8,因为它基于字符工作?
编辑:
gen("UTF-8") 也有效吗?
此外,boost::locale 如何与 boost::regex 一起工作,boost::32regex 是否仍需要与 utf-8 字符串一起工作?
最佳答案
本例中 to_upper()
有两种用法:
to_upper("grüßen")
通过 using 声明using namespace boost::locale
解析。据说这会产生正确的结果,即GRÜSSEN
。boost::to_upper_copy(std::string("grüßen"))
这似乎是您称为“boost::to_upper”的版本。据说这会产生不正确的结果,即GRÜßEN
。
您误解的根本原因似乎是您认为“boost::to_upper”做了正确的事情,而实际上它本来是要做错误的事情。
关于c++ - boost 语言环境转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397866/