URL傳參中不能帶特殊的字符以及處理方案


有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那么就要使用他們的編碼了。編碼的格式為:%加字符的ASCII碼,即一個百分號%,后面跟對應字符的ASCII(16進制)碼值。例如 空格的編碼值是"%20"。
如果不使用轉義字符,這些編碼就會當URL中定義的特殊字符處理。

下表中列出了一些URL特殊符號及編碼 十六進制值
1.+ URL 中+號表示空格 %2B

2.空格 URL中的空格可以用+號或者編碼 %20

3./ 分隔目錄和子目錄 %2F

4.? 分隔實際的 URL 和參數 %3F

5.% 指定特殊字符 %25

6.# 表示書簽 %23

7.& URL 中指定的參數間的分隔符 %26

8.= URL 中指定參數的值 %3D

 

可以采用JS的編碼方法:

1.        escape - 采用ISO Latin字符集對指定的字符串進行編碼。不會被此方法編碼的字符: @ * / +

2.        encodeURI - 把URI字符串采用UTF-8編碼格式轉化成escape格式的字符串不會被此方法編碼的字符:! @ # $& * ( ) = : / ; ? + '

3.        encodeURIComponent - 把URI字符串采用UTF-8編碼格式轉化成escape格式的字符串。不會被此方法編碼的字符:! * ( ) '

 

文章來源:

http://czy4411741.blog.163.com/blog/static/34203127200991804738266/

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM