urlencode,urldecode
来源:互联网 发布:js 查找字符串 编辑:程序博客网 时间:2024/05/20 10:20
namespace HttpUtility
{
typedef unsigned char BYTE;
inline BYTE toHex(const BYTE &x)
{
return x > 9 ? x -10 + 'A': x + '0';
}
inline BYTE fromHex(const BYTE &x)
{
return isdigit(x) ? x-'0' : x-'A'+10;
}
inline string URLEncode(const string &sIn)
{
string sOut;
for( size_t ix = 0; ix < sIn.size(); ix++ )
{
BYTE buf[4];
memset( buf, 0, 4 );
if( isalnum( (BYTE)sIn[ix] ) )
{
buf[0] = sIn[ix];
}
//else if ( isspace( (BYTE)sIn[ix] ) ) //貌似把空格编码成%20或者+都可以
//{
// buf[0] = '+';
//}
else
{
buf[0] = '%';
buf[1] = toHex( (BYTE)sIn[ix] >> 4 );
buf[2] = toHex( (BYTE)sIn[ix] % 16);
}
sOut += (char *)buf;
}
return sOut;
};
inline string URLDecode(const string &sIn)
{
string sOut;
for( size_t ix = 0; ix < sIn.size(); ix++ )
{
BYTE ch = 0;
if(sIn[ix]=='%')
{
ch = (fromHex(sIn[ix+1])<<4);
ch |= fromHex(sIn[ix+2]);
ix += 2;
}
else if(sIn[ix] == '+')
{
ch = ' ';
}
else
{
ch = sIn[ix];
}
sOut += (char)ch;
}
return sOut;
}
}
- UrlEncode UrlDecode
- urlencode urldecode
- urlencode,urldecode
- URLEncode和URLDecode
- urlencode AND urldecode
- urlencode AND urldecode
- URLencode AND URLdecode
- URLencode AND URLdecode
- javaScript UrlEncode and UrlDecode
- VC URLEncode UrlDecode
- VC URLEncode & UrlDecode
- C++实现urlencode,urldecode
- UrlEncode编码/UrlDecode解码
- URLEncode与URLDecode
- URLEncode和URLDecode
- URLEncode两次URLDecode一次
- urlEncode&&urldecode的用法
- js urlencode和urldecode
- 多处理器系统下的伪共享(false sharing)问题
- 上传中
- TOP K问题
- 云计算产业
- 黑马程序员—枚举、结构、常量日志总结
- urlencode,urldecode
- JAVA学习
- 环回接口(Loopback Interface)【转】
- 网络字节序与主机字节序的转换
- 新手如何学STL
- WSDL 详解
- 免费smtp服务器地址参数
- API SOCKET~~TCP SOCKET recv的内存情况
- windows常用的几种同步对象