escape与encodeURI、encodeURIComponent的区别
比較js中的escape、encodeURI、encodeURIComponent
escape:
?? ?escape是會除@*_-+./以外的所有標點符號、空格符、特殊符及非ASC碼的所有字符進行編碼的函數(shù)。編碼格式為:%XX,如空格是%20,對于ASC值超過128的會用%uXXXX表示。如漢字“好”編碼是%u6FC2%uFFFD
encodeURI:
?? ?encodeURI不會進行編碼的符號是:
?? ?!@#$&*()_+-=;:',./?~
encodeURIComponent:
?? ?encodeURIComponent不會進行編碼的符號是:
?? ?!*()_-'.~
區(qū)別與共同:
?? 1、從上面比較可知,encodeURIComponent會進行編碼的符號比encodeURI多,而且會把/進行編碼,所以不能使用encodeURIComponent對url進行編碼。其時它的主要用途是對url的參數(shù)進行編碼。
?? 2、三個函數(shù)編碼的符號集不同以外,對于ASC碼的編碼格式都是一樣的。但是對于雙字節(jié)編碼就不同了。比如:“好”的encodeURI和encodeURIComponent的編碼是%E6%BF%82%EF%BF%BD。
?? ?? 原因是escape是采用ISO Latin字符集進行編碼的,而其他兩個是用UTF-8進行編碼的。所以如果想在GBK上的頁面把參數(shù)傳給UTF-8的頁面,就要使用后面兩個了。因為它們會把字符集轉(zhuǎn)成UTF-8再進行編碼。
轉(zhuǎn)載于:https://www.cnblogs.com/mengzhongshi/archive/2013/05/14/3077260.html
總結(jié)
以上是生活随笔為你收集整理的escape与encodeURI、encodeURIComponent的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu Ulipad 配置
- 下一篇: 35+非常棒的视差滚动(Parallax