void ConverCStringToURLCoding(const CString& strSrc, std::string& strDest)
{
//将所给字符串转换为unicode格式
int nLength = MultiByteToWideChar(CP_ACP, 0, strSrc, -1, NULL, 0);
wchar_t* pUnicode = new wchar_t[nLength + 1];
memset(pUnicode, 0, (nLength+1)*sizeof(wchar_t));
MultiByteToWideChar(CP_ACP, 0, strSrc, -1, pUnicode, nLength);
//将转换后的unicode格式转换为UTF-8格式
nLength = WideCharToMultiByte(CP_UTF8, 0, pUnicode, -1, NULL, 0, NULL, NULL);
BYTE* pUTF8Code = new BYTE[nLength + 1];
memset(pUTF8Code, 0, (nLength+1)*sizeof(BYTE));
WideCharToMultiByte(CP_UTF8, 0, pUnicode, -1, (LPSTR)pUTF8Code, nLength, NULL, NULL);
//通过UTF-8格式编码生成完整的URL编码,即为浏览器地址栏中使用的编码
/*
std::string relt;
BYTE* pUTF8CodeTemp = pUTF8Code;
char buf[4] = { 0 };
while (*pUTF8CodeTemp)
{
sprintf(buf, "%%%02X", *(pUTF8CodeTemp++));
relt += std::string(buf);
}
strDest = relt;
delete pUnicode;
delete pUTF8Code;
*/
}