Url編碼(URL encoding)的作用是將字符轉化爲可在因特網上安全傳輸的格式。
Url的編碼格式採用的是ASCII碼,而不是Unicode,這也就是說你不能在Url中包含任何非ASCII字符,例如中文。否則如果客戶端瀏覽器和服務端瀏覽器支持的字符集不同的情況下,中文可能會造成問題。Url編碼的原則就是使用安全的字符(沒有特殊用途或者特殊意義的可打印字符)去表示那些不安全的字符。
在as中有三種方式對url進行編碼,分別爲escape,decodeURI,decodeURIComponent,它們分別有不同的安全字符(即函數不會對這些字符進行編碼)
- escape(69個):*/@+-._0-9a-zA-Z
- encodeURI(82個):!#$&'()*+,/:;=?@-._~0-9a-zA-Z
- encodeURIComponent(71個):!'()*-._~0-9a-zA-Z
escape把非安全字符替換爲 % 十六進制序列,即unicode編碼。encodeURI和encodeURIComponent的編碼方式都爲utf-8,對url編碼推薦採用encodeURI方式。
一些URL編碼的資料:
http://www.nowamagic.net/webdesign/webdesign_UrlEncodingDecoding.php
http://www.w3schools.com/cn/tags/ref_urlencode.asp