提升区域转换?

时间:2011-12-06 09:45:48

标签: c++ boost locale

有人可以解释以下example的工作原理吗?

我不明白如果不使用boost :: locale :: to_upper而不是boost :: to_upper,这是如何工作的?

boost :: to_upper会使用locale :: global吗?我认为常规的facet / locale东西不支持utf-8,因为它在字符基础上工作?

编辑:

gen(“UTF-8”)也有效吗?

此外,boost :: locale如何与boost :: regex一起使用,还是需要boost :: 32regex才能使用utf-8字符串吗?

1 个答案:

答案 0 :(得分:2)

此示例中to_upper()有两种用途:

  1. to_upper("grüßen")通过使用声明using namespace boost::locale解析。据说这会产生正确的结果,即GRÜSSEN
  2. boost::to_upper_copy(std::string("grüßen"))这似乎是你所称的“boost :: to_upper”版本。据说这会产生不正确的结果,即GRÜßEN
  3. 你的误解的根本原因似乎是你认为“boost :: to_upper”做了正确的事情,而它实际上意味着做错了。