-
注:由于decode和encode是相對應(yīng)的,以下用encode可以更明確的看出差別
encodeURI() 主要用于整個URI勃蜘,例: http://es.cc/search?title=哇哈哈&tag=默認(rèn)分類
encodeURIComponent() 主要用于對URI中的某一段账蓉,例:title=哇哈哈&tag=默認(rèn)分類
它們的主要區(qū)別在于鸟雏,
encodeURI()不會對本身屬于URI的特殊字符進(jìn)行編碼,例: ‘:’ ,'/', '@', '#', '?'等
encodeURIComponent()則會對它發(fā)現(xiàn)的任何非標(biāo)準(zhǔn)字符進(jìn)行編碼。
代碼如下:
let uri="http://es.cc/search?title=哇哈哈&tag=默認(rèn)分類";
console.log(encodeURI (uri));
// http://es.cc/search?title=%E5%93%87%E5%93%88%E5%93%88&tag=%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB
console.log(encodeURIComponent (uri));
// http%3A%2F%2Fes.cc%2Fsearch%3Ftitle%3D%E5%93%87%E5%93%88%E5%93%88%26tag%3D%E9%BB%98%E8%AE%A4%E5%88%86%E7%B1%BB
如此就他們的區(qū)別就很明顯了