URL加密方法對比

2022-09-10 14:33:27 字數 1351 閱讀 9772

簡單來說,escape是對字串(string)進行編碼(而另外兩種是對url),作用是讓它們在所有電腦上可讀。

編碼之後的效果是%xx或者%u***x這種形式。

其中 ascii字母、數字、@*/+ ,這幾個字元不會被編碼,其餘的都會。

最關鍵的是,當你需要對url編碼時,請忘記這個方法,這個方法是針對字串使用的,不適用於url。

事實上,這個方法我還沒有在實際工作中用到過,所以就不多講了。

對url編碼是常見的事,所以這兩個方法應該是實際中要特別注意的。

它們都是編碼url,唯一區別就是編碼的字元範圍,其中

encodeuri方法不會對下列字元編碼  ascii字母、數字、~!@#$&*()=:/,;?+'

encodeuricomponent方法不會對下列字元編碼 ascii字母、數字、~!*()'

所以encodeuricomponent比encodeuri編碼的範圍更大。

實際例子來說,encodeuricomponent會把 http://  編碼成  http%3a%2f%2f 而encodeuri卻不會。

區別上面說的很清楚了,接下來從實際例子來說說把。

1、如果只是編碼字串,不和url有半毛錢關係,那麼用escape。

2、如果你需要編碼整個url,然後需要使用這個url,那麼用encodeuri。

比如

encodeuri(" other thing");

編碼後會變為

"%20other%20thing";

其中,空格被編碼成了%20。但是如果你用了encodeuricomponent,那麼結果變為

看到了區別嗎,連 "/" 都被編碼了,整個url已經沒法用了。

3、當你需要編碼url中的引數的時候,那麼encodeuricomponent是最好方法。

var param = ""; //param為引數

看到了把,引數中的 "/" 可以編碼,如果用encodeuri肯定要出問題,因為後面的/是需要編碼的。

URL 簡單加密

問題 使用window.open 開啟乙個頁面時如果不對url進行處理,將會把所有的引數完整的顯示在位址列中,會暴露很多資訊。介紹一種簡單的加密方法。解決辦法 1 引數 描述uristring 必需。乙個字串,含有 uri 元件或其他要編碼的文字。uristring 的副本,其中的某些字元將被十六進...

url加密解密

js對文字進行編碼涉及3個函式 escape,encodeuri,encodeuricomponent,相應3個解碼函式 unescape,decodeuri,decodeuricomponent 1 傳遞引數時需要使用encodeuricomponent,這樣組合的url才不會被 等特殊字元截斷。...

url加密 比較

1.escape 簡單來說,escape是對字串 string 進行編碼 而另外兩種是對url 作用是讓它們在所有電腦上可讀。編碼之後的效果是 xx或者 u x這種形式。其中 ascii字母 數字 這幾個字元不會被編碼,其餘的都會。最關鍵的是,當你需要對url編碼時,請忘記這個方法,這個方法是針對字...