[原]VC++ URL编码的解码
来源:互联网 发布:交换机ge端口是什么 编辑:程序博客网 时间:2024/05/19 00:43
bool DecodeUrl(char *Src, char *url, int MaxLen){ if(NULL == url || NULL == Src) { return false; } if(MaxLen == 0) { return false; } char *p = Src; // 用来循环 int i = 0; // i用来控制url数组 /* 临时保存url编码的数据 例如: %1A%2B%3C */ char t = '\0'; while(*p != '\0' && MaxLen--) { if(*p == 0x25) // 0x25 = '%' { /* 以下是十六进制数中常出现的大写字母,小写字母,数字的判断 */ if(p[1] >= 'A' && p[1] <= 'Z') // 大写字母 { t = p[1] - 'A' + 10; // A = 10,下同 } else if(p[1] >= 'a' && p[1] <= 'z') // 小写字母 { t = p[1] - 'a' + 10; } else if(p[1] >= '0' && p[1] <= '9') // 数字 { t = p[1] - '0'; } t *= 16; // 将数放到十位上去 if(p[2] >= 'A' && p[2] <= 'Z') // 大写字母 { t += p[2] - 'A' + 10; } else if(p[2] >= 'a' && p[2] <= 'z') // 小写字母 { t += p[2] - 'a' + 10; } else if(p[2] >= '0' && p[2] <= '9') // 数字 { t += p[2] - '0'; } // 到此合成了一个十六进制数 url[i] = t; p += 3, i++; } else { // 没有被url编码的数据 // '+'特殊处理.它相当于一个空格 if(*p != '+') { url[i] = *p; } else { url[i] = 0x20; } i++; p++; } } url[i] = '\0'; // 结束符 return true;}
0 0
- [原]VC++ URL编码的解码
- URL 的编码和 URL 的解码
- url参数以及url的编码解码
- VC++(unicode)实现URLDecode函数,对URl编码的字符串进行解码
- asp的url编码和解码
- javascript的URL编码和解码
- URL编码和解码的C++类
- javascript的URL编码和解码
- javascript 的URL编码和解码
- .NET url 的编码与解码
- javascript的URL编码和解码
- 了解url的编码与解码
- 实现URL编码解码的python程序
- javascript的URL编码和解码
- loadrunner中的url的编码和解码
- js的URL字符串编码/解码
- Java的Url编码和解码
- javascript的URL编码和解码
- oracle 性能优化建议小结
- javaSE-面向对象-构造代码块
- 阿的分公司的过的复合肥的个好分但
- oracle 导入导出数据
- 《程序员的第一年》---------- 选择转行了
- [原]VC++ URL编码的解码
- 采用Latex的moderncv制作简历
- 面试准备汇总
- TextView and EditView show image
- OpenCV2.4.4中调用SIFT特征检测器进行图像匹配
- eval使用
- COCOSBuilder 源码, cocos2d 和cocos2dx混编
- 架构设计的抉择
- Windows XP 与 Windows 2000 句柄表(增加个人注解)