1. 程式人生 > 其它 >js 字串“http%3A%2F%2F”轉換成http://詳解

js 字串“http%3A%2F%2F”轉換成http://詳解

字串“http%3A%2F%2F”轉換成http://詳解

我截獲下來一個URL的字串格式是“http%3A%2F%2F”,但是實際應該是http://

而“%2F”對應的就是 /

如果僅僅是想把字串http%3A%2F%2F轉換成http://的話,用strstr()等字串系列函式應該可以解決吧

對於“http%3A%2F%2Fwww.baidu.com%2Fasd%3Fa%3D123”這種特殊字元被轉義成16進位制的字串, 雖然知道“%3A”表示冒號(百分號“%”是轉義符, 相當於正則當中的反斜槓”/”)

但是很少人會採用這種匹配字串的方法來強行轉義,因為這種匹配不僅不準確, 而且效率很低

而JS當中早就有了這種方法, encodeURIComponent和decodeURIComponent 容易理解, 前者是轉義字串, 後者是解析字串

所以當遇到上面的字串時, 那就可以用 decodeURIComponent解析, 而解析結果也會變成我們想要的字串“http://www.baidu.com/asd?a=123”

而decodeURI和encodeURI, 跟前面的類似, 只不過不會轉義特殊字元

例如:
http%3A%2F%2Fimg61.hbzhan.com%2F2%2F20130524%2F635049815930316074649.jpg

解碼後就是:
http://img61.hbzhan.com/2/20130524/635049815930316074649.jpg
轉載自:http://429006.com/article/technology/4342.htm