首页 > 代码库 > Windows 下关于转码的函数
Windows 下关于转码的函数
1 std::string& MsgFieldList::GBToUTF8(std::string& des,const char* str) 2 { 3 WCHAR *strSrc; 4 TCHAR *szRes; 5 6 //获得临时变量的大小 7 int i = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); 8 strSrc = http://www.mamicode.com/new WCHAR[i+1]; 9 MultiByteToWideChar(CP_ACP, 0, str, -1, strSrc, i); 10 11 //获得临时变量的大小 12 i = WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, NULL, 0, NULL, NULL); 13 szRes = new TCHAR[i+1]; 14 int j=WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, szRes, i, NULL, NULL); 15 16 des = szRes; 17 delete []strSrc; 18 delete []szRes; 19 20 return des; 21 }
反转代码:
1 std::string& MsgFieldList::UTF8ToGB(std::string& des,const char* str) 2 { 3 WCHAR *strSrc; 4 TCHAR *szRes; 5 6 //获得临时变量的大小 7 int i = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0); 8 strSrc = http://www.mamicode.com/new WCHAR[i+1]; 9 MultiByteToWideChar(CP_UTF8, 0, str, -1, strSrc, i); 10 11 //获得临时变量的大小 12 i = WideCharToMultiByte(CP_ACP, 0, strSrc, -1, NULL, 0, NULL, NULL); 13 szRes = new TCHAR[i+1]; 14 WideCharToMultiByte(CP_ACP, 0, strSrc, -1, szRes, i, NULL, NULL); 15 16 des = szRes; 17 delete []strSrc; 18 delete []szRes; 19 20 return des; 21 }
Windows 下关于转码的函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。