这是一个URL解码函数,使用于中文乱码,能把原来解析出的乱码,转换成中文,代码如下:
void urldecode(char *p)
{
int i=0;
while(*(p+i))
{
if ((*p=*(p+i)) == '%')
{
*p=*(p+i+1) >= 'A' ? ((*(p+i+1) & 0XDF) - 'A') + 10 : (*(p+i+1) - '0');
*p=(*p) * 16;
*p+=*(p+i+2) >= 'A' ? ((*(p+i+2) & 0XDF) - 'A') + 10 : (*(p+i+2) - '0');
i+=2;
}
else if (*(p+i)=='+')
{
*p=' ';
}
p++;
}
*p='\0';
}
使用过程如下:
char *url=NULL;
url= http->request.uri;
urldecode(url);
printf("%s\n",url);
以上