c++ - boost 语言环境转换?

标签 c++ boost locale

有人可以解释一下下面的 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() 有两种用法:

  1. to_upper("grüßen") 通过 using 声明 using namespace boost::locale 解析。据说这会产生正确的结果,即 GRÜSSEN
  2. 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/

相关文章:

c++ - Boost 快速池分配器有函数指针问题?

c++ - boost::mpl 变换操作元函数参数错误

macos - 在 Mac OSX 中添加区域设置

c++ - 结构数组声明

c++ - windows编程如何让 "choose file"函数生效?

c++ - 将函数参数绑定(bind)到线程

android - 如何在 Android 中获取用户选择的日期格式?

c++ - 用列表中的元素填充 vector

c++ - 常量变量是否默认为特定于内部链接语言或特定于编译器的功能?

c++ - 空的语言环境参数是什么意思?