ASP中的Server.URLEncode在Ansi C中的实现

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在对Http服务器提交请求时如果Url中含有中文字符,希望ASP页面接收到的仍然是正常的中文字符,而不会是乱码 做法就是把URL字符串Encode一下,以前就有人写过在VC中的实现见 http://blog.csdn.net/zhengyun_ustc/archive/2002/05/20/12654.aspx

但是它的只能在VC中运行,有一定的限制,因此我改写了一下.代码如下:

inline BYTE toHex(const BYTE &x)

{

return x>9?x+55:x+48;

}

UrlEncode(LPBYTE in,LPBYTE out)

{

if(out)

{

while (*in)

{

if(isalnum(*in))

*out++ = *in;

else

if(isspace(*in))

*out++ = '+';

else

{

*out++ = '%';

*out++ = toHex(*in>>4);

*out++ = toHex(*in%16);

}

in++;

}

*out = '\0';

}

return 1;

}

有什么Bug还大家指正.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航