六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 64|回复: 0

收集了一些URI特殊字符的编码,有一些想法

[复制链接]

升级  0.67%

11

主题

11

主题

11

主题

秀才

Rank: 2

积分
51
 楼主| 发表于 2013-1-23 02:38:34 | 显示全部楼层 |阅读模式
先把资料列一下,
           字符   URL编码值
           space  %20
             "    %22
             #    %23
             %    %25
             &    %26
             (    %28
             )    %29
             +    %2B
             ,    %2C
             /    %2F
             :    %3A
             ;    %3B
             <    %3C
             =    %3D
             >    %3E
             ?    %3F
             @    %4o
             \    %5C
             |    %7C

手头的程序,界面基于ajax,需要向服务器上的servlet发送XML,采用HTTP POST 方式,这种情况下POST比GET当然好得多,GET的URL编码更麻烦。即使如此,编码问题还是给我来了一个下马威。由于XML是用纯文本参数的方式发起请求,当XML内部某个节点值含有“+”的时候,Http传输就会丢失这个字符,这个时候必须将“+”手动转成 “%2B”,同时需要手动转的字符还有“&”->“%26”,“%”->“%25”等。这几个特殊字符是不能用javascript的encodeURI()来编码的,所以即使“笨”一点手动转那也是没办法。不过除了这三个顽固的家伙,尚未发现其它字符也需要在POST方式提交XML文本的情况下先作转换,硬编码看来也不是不可以哈。值得留意的是,“&”在XML里也是特殊字符,所以一般来说我不会对其进行uri编码,而是把它转换成“&”。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表