CString CExonDlg::UrlEncxode(CString strUnicode)
{
LPCWSTR unicode = T2CW(strUnicode);
int len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, 0, 0, 0, 0);
if (!len)
return strUnicode;
char *utf8 = new char[len + 1];
char *utf8temp = utf8;
WideCharToMultiByte(CP_UTF8, 0, unicode, -1, utf8, len + 1, 0, 0);
utf8[len] = NULL;
CString strTemp, strEncodeData;
while(*utf8!=NULL){
strTemp.Format(_T("%%%2x"), (BYTE)*utf8);
strEncodeData += strTemp;
++utf8;
}
delete []utf8temp;
return CString(strEncodeData);
{
LPCWSTR unicode = T2CW(strUnicode);
int len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, 0, 0, 0, 0);
if (!len)
return strUnicode;
char *utf8 = new char[len + 1];
char *utf8temp = utf8;
WideCharToMultiByte(CP_UTF8, 0, unicode, -1, utf8, len + 1, 0, 0);
utf8[len] = NULL;
CString strTemp, strEncodeData;
while(*utf8!=NULL){
strTemp.Format(_T("%%%2x"), (BYTE)*utf8);
strEncodeData += strTemp;
++utf8;
}
delete []utf8temp;
return CString(strEncodeData);
}
在mfc中我们常用的是,cstring
cstring和cstringA的转换是:
Csting=str;
CstingA jfd(str)