国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

談談encodeURI和encodeURIComponent以及escape的區(qū)別與應用

2019-11-20 11:10:43
字體:
來源:轉載
供稿:網(wǎng)友

首先,我們都知道這三個東西都是用來編碼的先來說encodeURI()和encodeURIComponent(),這兩個是在轉換url時候用來編碼解碼用的。

有編碼就會有解碼,解碼就是decodeURI()和decodeURIComponent(),他們的用法很簡單,在參數(shù)中帶入要轉碼的文字就可實現(xiàn)目的

如:

  encodeURI("我是要編碼的文字")
  decodeURI("我是要解碼的文字")
  encodeURIComponent("我是要編碼的文字")
  decodeURIComponent("我是要解碼的文字")

而encodeURI()和encodeURIComponent()的區(qū)別其實并不大

主要區(qū)別在于:

encodeURI不編碼字符有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

encodeURI主要用于直接賦值給地址欄時候:

location.href=encodeURI("

而escape,相比于上面那兩個,就有所不同了

escape()是編碼,unescape()是解碼

escape 方法

對 String 對象編碼以便它們能在所有計算機上可讀,

escape(charString)

必選項 charstring 參數(shù)是要編碼的任意 String 對象或文字。

說明

escape 方法返回一個包含了 charstring 內容的字符串值( Unicode 格式)。所有空格、標點、重音符號以及其他非 ASCII 字符都用 %xx 編碼代替,

其中 xx 等于表示該字符的十六進制數(shù)。例如,空格返回的是 "%20" 。

字符值大于 255 的以 %uxxxx 格式存儲。

escape不編碼字符有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z

注意   escape 方法不能夠用來對統(tǒng)一資源標示碼 (URI) 進行編碼。對其編碼應使用 encodeURI 和encodeURIComponent 方法。

最后上一段關于編碼解碼的demo

總結

escape()不能直接用于URL編碼,它的真正作用是返回一個字符的Unicode編碼值。比如"春節(jié)"的返回結果是%u6625%u8282,,escape()不對"+"編碼 主要用于漢字編碼,現(xiàn)在已經(jīng)不提倡使用。

encodeURI()是Javascript中真正用來對URL編碼的函數(shù)。 編碼整個url地址,但對特殊含義的符號"; / ? : @ & = + $ , #",也不進行編碼。對應的解碼函數(shù)是:decodeURI()。

encodeURIComponent() 能編碼"; / ? : @ & = + $ , #"這些特殊字符。對應的解碼函數(shù)是decodeURIComponent()。

假如要傳遞帶&符號的網(wǎng)址,所以用encodeURIComponent()

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 筠连县| 彭州市| 新乐市| 洱源县| 平和县| 密山市| 定西市| 常宁市| 满洲里市| 温宿县| 齐齐哈尔市| 池州市| 韩城市| 前郭尔| 威远县| 永登县| 嘉峪关市| 临城县| 巴林左旗| 逊克县| 房产| 搜索| 改则县| 新津县| 观塘区| 利辛县| 宁强县| 通海县| 深泽县| 山西省| 天峨县| 新安县| 香格里拉县| 宣汉县| 罗城| 稷山县| 济宁市| 婺源县| 宽甸| 宁都县| 百色市|