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

首頁 > 語言 > JavaScript > 正文

談談encodeURI和encodeURIComponent以及escape的區別與應用

2024-05-06 16:25:14
字體:
來源:轉載
供稿:網友
encodeURI和encodeURIComponent以及escape,這三個都是用來編碼的,本篇文章給大家介紹encodeURI和encodeURIComponent以及escape的區別與應用,感興趣的朋友一起學習吧
 

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

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

如:

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

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

主要區別在于:

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

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

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

location.href=encodeURI("http://www.cnblogs.com/Tezml/");

而encodeURIComponent主要用于url的query參數:

location.href="http://www.cnblogs.com/Tezml/test.php?a="+encodeURIComponent("我就是我"); 

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

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

escape 方法

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

escape(charString)

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

說明

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

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

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

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

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

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

  1. <!DOCTYPE html> 
  2. <html> 
  3.  <head> 
  4.  <title>Tezml_編碼解碼測試</title> 
  5.  <meta charset="utf-8"
  6.  <meta name="author" content="Tezml" /> 
  7.  <meta name="copyright" content="Tezml" /> 
  8.  <meta name="description" content="Tezml" /> 
  9.  <script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script> 
  10. </head> 
  11. <body> 
  12. <div id="wz1"></div> 
  13. <div id="wz2"></div> 
  14. <div id="wz3"></div> 
  15. <div id="wz4"></div> 
  16. <div id="wz5"></div> 
  17. <div id="wz6"></div> 
  18. <div id="wz7"></div> 
  19. <div id="wz8"></div> 
  20. <div id="wz9"></div> 
  21. <div id="wz10"></div> 
  22. <div id="wz11"></div> 
  23. <div id="wz12"></div> 
  24. </body> 
  25. <script type="text/javascript"
  26. var chinese="請叫我中文" 
  27. var english="place tall me englash" 
  28. var Monster=":#&$/@" 
  29. $("#wz1").html(encodeURI(chinese))//編碼 %E8%AF%B7%E5%8F%AB%E6%88%91%E4%B8%AD%E6%96%87 
  30. $("#wz2").html(decodeURI(chinese))//解碼 請叫我中文 
  31. $("#wz3").html(encodeURI(english))//編碼 place%20tall%20me%20englash 
  32. $("#wz4").html(decodeURI(english))//解碼 place tall me englash 
  33. $("#wz5").html(encodeURIComponent(Monster))//編碼 %3A%23%26%24%2F%40 
  34. $("#wz6").html(encodeURI(Monster))//編碼 :#&$/@ 
  35. $("#wz7").html(escape(chinese))//編碼 %u8BF7%u53EB%u6211%u4E2D%u6587 
  36. $("#wz8").html(escape(english))//編碼 place%20tall%20me%20englash 
  37. $("#wz9").html(escape(Monster))//編碼 %3A%23%26%24/@ 
  38. $("#wz10").html(unescape(chinese))//編碼 請叫我中文 
  39. $("#wz11").html(unescape(english))//編碼 place tall me englash 
  40. $("#wz12").html(unescape(Monster))//編碼 :#&$/@ 
  41. </script> 
  42. </html> 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂昌县| 杭锦旗| 潢川县| 兖州市| 临武县| 仲巴县| 措勤县| 丰台区| 枝江市| 樟树市| 贵州省| 信阳市| 京山县| 宁明县| 肇庆市| 龙海市| 鄂伦春自治旗| 调兵山市| 菏泽市| 太仓市| 垣曲县| 普定县| 新晃| 宝丰县| 开远市| 南京市| 罗甸县| 西乡县| 泰宁县| 安吉县| 老河口市| 兴隆县| 如皋市| 阿拉善右旗| 宁都县| 棋牌| 上高县| 邵东县| 汉中市| 苏尼特右旗| 珠海市|