首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么简单的方法可以从ASCII转换到UTF8?(使用boost::locale)

有什么简单的方法可以从ASCII转换到UTF8?(使用boost::locale)
EN

Stack Overflow用户
提问于 2014-08-14 15:01:03
回答 1查看 4.3K关注 0票数 3

我正在尝试将一些字符串从ASCII转换为UTF8。

我搜了很多东西,但找不到。

所以我对此进行了编码。

代码语言:javascript
复制
std::string ASCII("ASCII string");
auto utf8 = boost::locale::conv::to_utf<char>(ansi, std::locale("en_US.UTF8"));

是这样的吗?在我的系统里这是行不通的。

求你帮帮我。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-15 08:51:55

如果您的意思是将系统区域设置转换为utf8,反之亦然,那么我们将使用以下操作非常好:

代码语言:javascript
复制
static std::string fromLocale(const std::string &localeStr){
    boost::locale::generator g;
    g.locale_cache_enabled(true);
    std::locale loc = g(boost::locale::util::get_system_locale());
    return boost::locale::conv::to_utf<char>(localeStr,loc);
}

static std::string toLocale(const std::string &utf8Str){
    boost::locale::generator g;
    g.locale_cache_enabled(true);
    std::locale loc = g(boost::locale::util::get_system_locale());
    return boost::locale::conv::from_utf<char>(utf8Str,loc);
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25311345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档