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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM