C语言实现urlencode和decode

您所在的位置:网站首页 字符串解码c语言 C语言实现urlencode和decode

C语言实现urlencode和decode

2023-09-19 07:34| 来源: 网络整理| 查看: 265

本文转自: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