C语言实现urlencode和decode |
您所在的位置:网站首页 › 字符串解码c语言 › C语言实现urlencode和decode |
本文转自:http://www.cppblog.com/izualzhy/archive/2012/07/09/182456.html 先看个例子: 汉字 一 的UTF-8编码为0xE4 0xb8 0x 80 我们在google里搜索一下“一”,地址栏显示为: ![]() 以看到url的字符串里有一个%E4%B8%80 这就是encode之后的值。因此,encode的处理过程也很明显了。 特别是传中文参数时,如果没有encode,很容易出错。 至于为什么要这么传,就不知道了,今天,现来看下C语言如何实现url encode函数. 首先是urlencode的编码规则,可以看这里,搜到一篇文章没有仔细研究,可能有不全的地方: http://hi.baidu.com/leejun_2005/item/9e0f4e4ba62cde0bc11613b5 解码: /* * ===================================================================================== * Filename: url_decode.cpp * Description: url decode * * Created: 07/06/2012 07:35:14 PM * Author: zhy (), [email protected] * ===================================================================================== */ #include #include #define NON_NUM '0' int hex2num(char c) { if (c>='0' && c='a' && c='A' && c0 result 里实际有效的字符串长度 * 0 解码失败 */ int URLDecode(const char* str, const int strSize, char* result, const int resultSize) { char ch,ch1,ch2; int i; int j = 0;//record result index if ((str==NULL) || (result==NULL) || (strSize |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |