inline std::string utf8_to_gbk(const std::string& str) { std::wstring_convert<std::codecvt_utf8<wchar_t>> conv; std::wstring tmp_wstr = conv.from_bytes(str); //GBK locale name in windows const char* GBK_LOCALE_NAME = ".936"; std::wstring_convert<std::codecvt_byname<wchar_t, char, mbstate_t>> convert(new std::codecvt_byname<wchar_t, char, mbstate_t>(GBK_LOCALE_NAME)); return convert.to_bytes(tmp_wstr); } inline std::string gbk_to_utf8(const std::string& str) { //GBK locale name in windows const char* GBK_LOCALE_NAME = ".936"; std::wstring_convert<std::codecvt_byname<wchar_t, char, mbstate_t>> convert(new std::codecvt_byname<wchar_t, char, mbstate_t>(GBK_LOCALE_NAME)); std::wstring tmp_wstr = convert.from_bytes(str); std::wstring_convert<std::codecvt_utf8<wchar_t>> cv2; return cv2.to_bytes(tmp_wstr); }
原文链接: https://www.cnblogs.com/m1911/p/17056978.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/312688
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!