//变化UTF8为了中国 void UTF8ToGB(CString& szstr) { WCHAR* strSrc; TCHAR* szRes; int i = MultiByteToWideChar(CP_UTF8, 0, szstr, -1, NULL, 0); strSrc = new WCHAR[i + 1]; MultiByteToWideChar(CP_UTF8, 0, szstr, -1, strSrc, i); i = WideCharToMultiByte(CP_ACP, 0, strSrc, -1, NULL, 0, NULL, NULL); szRes = new TCHAR[i + 1]; WideCharToMultiByte(CP_ACP, 0, strSrc, -1, szRes, i, NULL, NULL); szstr = szRes; delete[]strSrc; delete[]szRes; } //解析URL //输入:"/apps/%E6%BB%B4%E6%BB%B4%E6%89%93%E8%BD%A6.apk" //输出: "/apps/嘀嘀打车.apk" //方法: 分下面两步实现 //先调用DecodeUrl(),得到"/apps/婊存淮鎵撹溅.apk" //再调用UTF8ToGB(),得到"/apps/嘀嘀打车.apk" BOOL DecodeUrl(char *pURL, char *szBuff, int nBuffLen) { if (NULL == szBuff || NULL == pURL) { return FALSE; } if (nBuffLen == 0) { return FALSE; } char *p = pURL; // 用来循环 int i = 0; // i用来控制szBuff数组 /* 暂时保存szBuff编码的数据 比如: %1A%2B%3C */ char t = '