decodeURI、decodeURIComponent 編碼方法


 

——摘自《JavaScript高級程序設計》

 

  • 編碼

Global 對象的 encodeURI()和 encodeURIComponent()方法可以對 URI(Uniform Resource Identifiers,通用資源標識符)進行編碼,以便發送給瀏覽器。有效的 URI 中不能包含某些字符,例如空格。而這兩個 URI 編碼方法就可以對 URI 進行編碼,它們用特殊的 UTF-8 編碼替換所有無效的字符,從而讓瀏覽器能夠接受和理解。

其中,encodeURI()主要用於整個 URI(例如,http://www.wrox.com/illegal value.htm),而 encodeURIComponent()主要用於對 URI 中的某一段(例如前面 URI 中的 illegal value.htm)進行編碼。
它們的主要區別在於:
encodeURI()不會對本身屬於 URI 的特殊字符進行編碼,例如冒號、正斜杠、問號和井字號;
encodeURIComponent()則會對它發現的任何非標准字符進行編碼。

 

  • 解碼

與 encodeURI()和 encodeURIComponent()方法對應的兩個方法分別是 decodeURI() 和 decodeURIComponent()
decodeURI()只能對使用 encodeURI()替換的字符進行解碼。例如,它可將%20 替換成一個空格,但不會對%23 作任何處理,因為%23 表示井字號(#),而井字號不是使用encodeURI()替換的。
decodeURIComponent()能夠解碼使用 encodeURIComponent()編碼的所有字符,即它可以解碼任何特殊字符的編碼。


免責聲明!

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



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