gpt4 book ai didi

c++ - 有什么简单的方法可以将 ASCII 转换为 UTF8? (使用 boost::locale)

转载 作者:太空狗 更新时间:2023-10-29 19:52:27 26 4
gpt4 key购买 nike

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

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

所以我编码了这个。

std::string ASCII("ASCII string");
auto utf8 = boost::locale::conv::to_utf<char>(ansi, std::locale("en_US.UTF8"));

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

请帮帮我

谢谢。

最佳答案

如果您的意思是从您的系统区域设置转换为 utf8,反之亦然,我们使用以下效果很好的方法:

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);
}

关于c++ - 有什么简单的方法可以将 ASCII 转换为 UTF8? (使用 boost::locale),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25311345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com