赞
踩
- string GBKToUTF8(const char* strGBK)
- {
- int len = MultiByteToWideChar(CP_ACP, 0, strGBK, -1, NULL, 0);
- wchar_t* wstr = new wchar_t[len + 1];
- memset(wstr, 0, len + 1);
- MultiByteToWideChar(CP_ACP, 0, strGBK, -1, wstr, len);
- len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
- char* str = new char[len + 1];
- memset(str, 0, len + 1);
- WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
- string strTemp = str;
- if (wstr) delete[] wstr;
- if (str) delete[] str;
- return strTemp;
- }
- string UTF8ToGBK(const char* strUTF8)
- {
- int nLength = MultiByteToWideChar(CP_UTF8, 0, strUTF8, -1, NULL, 0);
- wchar_t* wszGBK = new wchar_t[nLength + 1];
- memset(wszGBK, 0, (size_t)nLength * 2 + 2);
- MultiByteToWideChar(CP_UTF8, 0, strUTF8, -1, wszGBK, nLength);
- nLength = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);
- char* szGBK = new char[nLength + 1];
- memset(szGBK, 0, (size_t)nLength + 1);
- WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, szGBK, nLength, NULL, NULL);
- string strTemp(szGBK);
- if (wszGBK) delete[] wszGBK;
- if (szGBK) delete[] szGBK;
- return strTemp;
- }
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。