Saber 酱的抱枕

Fly me to the moon

02/20
2017
学习

url参数中特殊字符的转义处理

如果url中有特殊字符符号,可能会导致url不能被正确识别。

我们可以在传递参数前将url编码来解决这个问题。不过需要注意的是,有些字符在url中有独特的作用的(例如#表示锚点位置,&表示连接多个参数),所以JavaScript的encodeURI函数(意思是编码url)是不能编码这些有单独意义的字符的的。需要把它们也转码的话需要用encodeURIComponent函数(意思是编码url组件)。

下面直接列出一下有特殊含义的字符及其编码后的结果:

+    URL 中+号表示空格                                %2B
空格 URL中的空格可以用+号或者编码             %20
/   分隔目录和子目录                                     %2F
?    分隔实际的URL和参数                              %3
%    指定特殊字符                                         %25
#    表示书签                                                %23
&    URL 中指定的参数间的分隔符                  %26
=    URL 中指定参数的值                                %3D

url参数中特殊字符的转义处理