URL编码----url参数中有+、空格、=、%、、#等特殊符号的问题
解决
url编码处理url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端⽆法获得正确的参数值,如何是好?
URL⽆法显⽰某些特殊符号,这个时候就要使⽤编码了。编码的格式为:⼀个百分号,后⾯跟对应字符的ASCII(16进制)码值。例如,空格的编码值是”%20“。
将这些字符转化成服务器可以识别的字符,对应关系如下:
URL字符转义
⽤其它字符替代吧,或⽤全⾓的。
+ URL 中+号表⽰空格 %2B
空格 URL中的空格可以⽤+号或者编码 %20
/ 分隔⽬录和⼦⽬录 %2F
分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表⽰书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D
URL编码遵循下列规则:每对name/value由&;符分开;每对来⾃表单的name/value由=符分开。如果⽤户没有输⼊值给这个name,那么这个name还是出现,只是⽆值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%⽤⼗六进制编码,当然也包括象=,&;,和 % 这些特殊的字符。其实url编码就是⼀个字符ascii码的⼗六进制。不过稍微有些变动,需要在前⾯加上“%”。⽐如“\”,它的ascii 码是92,92的⼗六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?很简单,看例⼦:“胡”的ascii码是-17670,⼗六进制是BAFA,url编码是“%BA%FA”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论