首頁  >  文章  >  web前端  >  js編碼、解碼函數介紹及其使用範例_基礎知識

js編碼、解碼函數介紹及其使用範例_基礎知識

WBOY
WBOY原創
2016-05-16 17:23:211253瀏覽

js對文字進行編碼涉及3個函數:escape,encodeURI,encodeURIComponent,對應3個解碼函數:unescape,decodeURI,decodeURIComponent

1、傳遞參數時需要使用encodeURIonent
1、傳遞參數時需要使用encodeURIonent
,這樣組合🎜>,這樣組合的url才不會被#等特殊字元截斷。
例如:


2、進行url跳轉時可以整體使用encodeURI

例如: Location.href=encodeURI(http://cang .baidu.com/do/s?word=中國&ct=21); 使用這個方法編碼的字元在PHP中可以使用urldecode()函數反編碼

3、js使用資料時可以使用escape

escape對0-255以外的unicode值進行編碼時輸出%u****格式,其它情況下escape,encodeURI,encodeURIComponent編碼結果相同。
escape不編碼字元有69個:*, ,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不編碼字元有82個:!,#,$,&, ',(,),*, ,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z encodeURIComponent不編碼字元有71個:! , ',(,),*,-,.,_,~,0-9,a-z,A-Z

附上這個三個函數的介紹:


escape 方法
對String 物件編碼以便它們能在所有電腦上可讀,
escape(charString)
必選項charstring 參數是要編碼的任意String 物件或文字。
說明
escape 方法傳回一個包含了 charstring 內容的字串值( Unicode 格式)。所有空格、標點、重音符號以及其他非 ASCII 字元都以 %xx 編碼代替,
其中 xx 等於表示該字元的十六進位數。例如,空格回傳的是 " " 。
字元值大於 255 的以 %uxxxx 格式儲存。
注意 escape 方法不能夠用來對統一資源標示碼 (URI) 進行編碼。對其編碼應使用 encodeURI 和encodeURIComponent 方法。

encodeURI 方法
將文字字串編碼為一個有效的統一資源識別碼 (URI)。
encodeURI(URIString)
必選的 URIString 參數代表一個已編碼的 URI。
說明
encodeURI 方法傳回一個編碼的 URI。如果您將編碼結果傳遞給 decodeURI,那麼將傳回初始的字串。 encodeURI 方法不會對下列字元進行編碼:":"、
"/"、";" 和 "?"。請使用 encodeURIComponent 方法對這些字元進行編碼。

encodeURIComponent 方法
將文字字串編碼為一個統一資源識別碼 (URI) 的一個有效元件。
encodeURIComponent(encodedURIString) 必選的 encodedURIString 參數代表一個已編碼的 URI 元件。

說明
encodeURIComponent 方法傳回一個已編碼的 URI。如果您將編碼結果傳遞給 decodeURIComponent,那麼將會傳回初始的字串。因為 encodeURIComponent 方法對所有的字元編碼,請注意,如果該字串代表一條路徑,例如 /folder1/folder2/default.html,其中的斜杠也會被編碼。這樣一來,當該編碼結 果被作為請求發送到 web 伺服器時將是無效的。如果字串中包含不只一個 URI 元件,請使用 encodeURI 方法進行編碼。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn