Unicode与UTF8编码转换
?
CString ConverToUTF8(CString szText){WCHAR *chBuf;char * p;int iLen; iLen = MultiByteToWideChar(CP_ACP, 0, szText,-1 , NULL, 0); chBuf = new WCHAR[iLen+1]; ZeroMemory(chBuf, iLen * sizeof(WCHAR)); iLen =MultiByteToWideChar(CP_ACP, 0, szText, -1, chBuf, iLen+1);iLen = WideCharToMultiByte(CP_UTF8, 0, chBuf,-1 , NULL, 0,NULL,NULL);p = new CHAR[iLen+1]; ZeroMemory(p, iLen * sizeof(CHAR)); iLen =WideCharToMultiByte(CP_UTF8, 0, chBuf, -1, p, iLen+1,NULL,NULL);delete []chBuf;CString re(p);return re;}CString UTF8ToUnicode(CString szText){int len = 0;len = szText.GetLength();int unicodeLen = ::MultiByteToWideChar( CP_UTF8,0,szText.GetBuffer(len),-1,NULL,0 ); wchar_t * pUnicode; pUnicode = new wchar_t[unicodeLen+1]; memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t)); ::MultiByteToWideChar( CP_UTF8,0,szText.GetBuffer(len),-1,(LPWSTR)pUnicode,unicodeLen ); CString rt = pUnicode; delete pUnicode;return rt; } ??