C++ 字符串UTF-8与GBK转化
2018-03-26 14:56
1066 查看
//UTF8转化为GBK格式 void ConvertUtf8ToGBK(CString &strUtf8) { int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0); wchar_t * wszGBK = new wchar_t[len]; memset(wszGBK,0,len); MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, wszGBK, len); len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL); char *szGBK=new char[len + 1]; memset(szGBK, 0, len + 1); WideCharToMultiByte (CP_ACP, 0, wszGBK, -1, szGBK, len, NULL,NULL); strUtf8 = szGBK; delete[] szGBK; delete[] wszGBK; } //GBK转化为UTF8格式 void ConvertGBKToUtf8(CString &strGBK) { int len=MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, NULL,0); wchar_t * wszUtf8 = new wchar_t [len]; memset(wszUtf8, 0, len); MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, wszUtf8, len); len = WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, NULL, 0, NULL, NULL); char *szUtf8=new char[len + 1]; memset(szUtf8, 0, len + 1); WideCharToMultiByte (CP_UTF8, 0, wszUtf8, -1, szUtf8, len, NULL,NULL); strGBK = szUtf8; delete[] szUtf8; delete[] wszUtf8; }转自博客:https://blog.csdn.net/segen_jaa/article/details/6447874/
相关文章推荐
- C++ 字符串UTF8与GBK转化
- C++ 字符串UTF8与GBK转化
- C++ 字符串UTF8与GBK转化
- php将字符串从gbk转化成utf-8
- C/C++ 字符串的UTF-8与GBK(或GB2312)编码转换
- C/C++ 各种字符编码字符串的转换 可用于XML文件的字符转化读写 (收集 GBK - UTF8 - Unicode - ANSI )
- UTF-8 和 GBK 的 NSString 相互转化的方法
- 关于网页中编码gb2312,big5,gbk,utf-8识别的最新方法的探讨和c++的实现
- c++实现atoi()和itoa()函数(字符串和整数转化)
- 字符串编码格式相互转换Unicode --UTF-8 -- GBK
- c++中stringstream 类的用法及字符串与数字之间转化
- java批量将utf-8转化为gbk
- C++ 字符串转化为数组 有负数 数字之间为空格间隔
- C++里将string类字符串(utf-8编码)分解成单个字(可中英混输)
- ios字符串编码转换(utf-8 & gbk)[转贴]
- C++字符串转化为数字的库函数
- GBK与UTF-8的相互转化 Windows Linux
- C++字符串转化为数字的库函数
- c/c++ 数字和字符串之间的转化
- c++中将数字转化为字符串