提问人:Daniel Pinyol 提问时间:3/13/2013 最后编辑:CommunityDaniel Pinyol 更新时间:3/13/2013 访问量:3905
boost::algorithm::to_upper/to_lower 适用于 UTF8 吗?boost::locale 不是必需的?
boost::algorithm::to_upper/to_lower ok for utf8? boost::locale not necessary?
问:
我在几个地方读到boost::algorithm::to_upper/to_lower不适用于utf8:
- http://www.boost.org/doc/libs/1_51_0/libs/locale/doc/html/conversions.html
- 如何将std::string转换为小写?
- 使用 UTF8
但是在我的系统上,ubuntu 12.4.1 32 位,提升 1.46,语言环境en_GB。UTF-8,一切看起来都很好,只要我传递语言环境 例如:
std::locale englishUTF8locale("en_GB.UTF-8")
boost::algorithm::to_upper_copy(L"ü", englishUTF8locale) -> L"Ü"
boost::algorithm::to_lower_copy(L"и", englishUTF8locale) ->L"И"
值得注意的是,它在使用 std::wstring 时有效,但在使用 std::string 时无效
那么,boost::locale 真的没有必要吗?我的问题是我只能使用 boost 1.46,并且 locale 是为 1.48 创建的
答: 暂无答案
评论
boost::algorithm::to_upper_copy
boost::algorithm::to_lower