c语言实现url的编码和解码
来源:互联网 发布:美工职业描述 编辑:程序博客网 时间:2024/05/17 23:16
url提交信息为何要转码呢?因为url本身会有很多特殊字符。而提交的参数中如果再有特殊字符的话,url就不能区分哪些是参数内容,哪些是分隔符。尤其是unicode,gb18030,big5等多字节的编码,不知道里面会隐藏什么字节,因此必须全部转码。
更多详情请看:《关于URL编码》
本文代码为从PHP代码中修改而来,只保留了2个函数。
- 字符’a’-‘z’,’A’-‘Z’,’0’-‘9’,’.’,’-‘,’*’和’_’ 都不被编码,维持原值;
- 空格’ ‘被转换为加号’+’。
- 其他每个字节都被表示成”%XY”的格式,X和Y分别代表一个十六进制位。编码为UTF-8。
示例代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
编译运行效果如下:
本文转自:http://blog.csdn.net/langeldep
阅读全文
0 0
- C语言实现url的编码和解码
- c语言实现url的编码和解码
- C++URL编码和解码
- base64编码解码的实现(C语言)
- base64编码解码的实现(C语言)
- Base64编码解码的实现(C语言)
- Base64编码解码的实现(C语言)
- base64编码、解码的C语言实现
- base64编码、解码的C语言实现
- base64编码、解码的C语言实现
- base64编码、解码的C语言实现
- BASE64编码、解码的C语言实现
- Base64编码解码和URLEnocde编码解码的C实现
- URL 的编码和 URL 的解码
- Java实现的URL编码和解码技术
- Java实现的URL编码和解码技术
- C#实现Url编码和解码
- C#实现Url编码和解码
- iOS10隐私权限
- Android 按home键重新创建Activity的问题
- java 异常中的throws关键字
- 第十届省赛-H-Intelligent Parking Building
- ioctl函数
- c语言实现url的编码和解码
- 排序-堆排序-数据结构(32)
- 交叉验证 cross_validation
- 动态链表与静态链表
- CSS的包裹性
- 新闻客户端
- 关于ajaxForm 和ckeditor连用可是提交的时候不能够获得ckeditor填写的内容的问题
- mui中如何同时监听多个相同的标签
- HDU 1559 最大子矩阵和 (dp) 枚举+dp