編碼方式escape、encodeURI和encodeURIComponent

一、escape

1、特點

  • 作用是讓字符串在所有電腦上可讀。
  • 編碼之後的效果是%XX或者%uXXXX這種形式。
  • 編碼字符範圍: ASCII字母、數字、@*/+,這幾個字符不會被編碼,其餘的都會。

2、適合場合

編碼URL之外的字符串

二、encodeURI

1、特點

  • 空格會被編碼成“%20”
  • 編碼字符範圍: ASCII字母、數字、~!@#$&*()=:/,;?+’不會被編碼,其它的都會

2、適合場合

因爲encodeURI不會對URL中的”:”和”/”進行編碼,所以如果需要編碼並使用整個URL,那麼用encodeURI

不能用encodeURIComponent,因爲encodeURIComponent會將URL中的:

  • “:”編碼成”%3A”
  • “/”編碼成”%2F”

這樣這個URL就不能訪問。

三、encodeURIComponent

1、特點

  • 編碼字符範圍: ASCII字母、數字、~!*()’不會被編碼,其它的都會
  • 對比encodeURI可以發現encodeURIComponentencodeURI編碼的範圍更大。
  • encodeURIComponent會把 http:// 編碼成 http%3A%2F%2F 而encodeURI卻不會。

2、適合場合

當你需要編碼URL中的參數的時候,那麼encodeURIComponent是最好方法。

因爲URL參數中的”/”是需要被編碼的,不然在URL中造成一個無效的路徑,影響URL的訪問。

encodeURIComponent可以對”/”進行編碼,所以適合用來編碼URL中對的參數。

encodeURI不能對”/”進行編碼,所以它不適合用來編碼URL中的參數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章