您的位置:首页 > 编程语言 > C语言/C++

C++11特性--编码转换

2016-09-15 19:02 218 查看
#include <codecvt>
using namespace std;

int main ()
{
string str_gbk = "中文";
string str_utf8;
wstring str_utf16;
// GBK(GB2312) <-> Unicode
wstring_convert<codecvt<wchar_t, char, mbstate_t>>
cvt_gbk(new codecvt<wchar_t, char, mbstate_t>("CHS"));
str_utf16 = cvt_gbk.from_bytes(str_gbk);
str_gbk = cvt_gbk.to_bytes(str_utf16);
// UTF-8 <-> Unicode
wstring_convert<codecvt_utf8<wchar_t>> cvt_utf8;
str_utf8 = cvt_utf8.to_bytes(str_utf16);
str_utf16 = cvt_utf8.from_bytes(str_utf8);
// GBK(GB2312) <-> UTF8
// 方法:GBK(GB2312) <-> Unicode <-> UTF8

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: