(轉)網址中的中文編碼轉換


在瀏覽一些網址中,我們可以看到這樣一些特別的現象,就是網址中會出現一些百分號(%)和一字母數字組成的讓我們看不明白的亂碼,這究竟是怎么回事,它們又都是些什么東西呢?

其實,這里由%和數字字母組成的有規律性的“亂碼”它們並不真是亂碼,它們是一種特殊的編碼,有電腦基礎的人就知道,計算機它是不認得中文漢字的,要讓計算機認識這些編碼必須要轉換成一些字母和數字等組成的代碼。

事實上,我們在瀏覽器地址欄中看到的由%號和字母數字組成的亂碼,我們可以發現它們有一些規律,即都是三個字符一組,排在最前面的肯定是百分號%。 它們不是什么亂碼,它們其實是UTF-8編碼或者gbk(GB2312)編碼,那些百分號(%)后面的數字和字母其實就是16進制數。

中文的gbk(GB2312)編碼

如果是中文的gbk(GB2312)編碼,那么它的形式應該是這樣的,即一個漢字對應兩組%xx,即%xx%xx,比如http://www.baidu.com/baidu?tn=baidu&word=%D6%D0%B9%FA 這個網頁地址是百度的,百度是使用GB2312編碼的,這個網址中我們可以看到的特殊代碼是“%D6%D0%B9%FA”,其中前面的“%D6%D0”就對應中文漢字“中”字,后面的“%B9%FA”就對應中國漢字“國”字。

中文的UTF-8編碼

如果是中文的UTF-8編碼,那么它的形式應該是這樣的,即一個漢字對應三組%xx,即%xx%xx%xx,比如http://www.icpoline.com/tag/%e7%bd%91%e6%b0%91 ,這個網址是本站IcpOline.com的網頁,IcpOline使用的是UTF-8編碼,這個網址中的”%e7%bd%91%e6%b0%91″對應着中文漢字“網民”,即“%e7%bd%91”對應漢字“網”,“%e6%b0%91”對應中文漢字“民”。

再看個例子

http://www.google.cn/search?q=���� &ie=GB2312&oe=GB2312&hl=zh-CN (GB2312編碼)
http://www.google.cn/search?complete=1&hl=zh-CN&q=漢字 &meta=&aq=null (UTF-8編碼)

上面這兩個地址在瀏覽器中都會顯示谷歌關於關鍵詞“漢字”的搜索結果網頁,只不過前面的一個是GB2312編碼網頁,后面一個是UTF-8編碼網頁,我們可以很明顯的看出它們中“亂碼”的區別。這樣就可以替換上述網址格式中粉色部分 的“亂碼” 來解碼。

為什么要使用這樣的編碼?

這是為了兼容一些設備,有些設備只能傳ASCII碼,只認識128個字符,不認識漢字。(作者:icpoline)

http://www.icpoline.com/archives/4109

=======================================================

利用百度進行URL編碼解碼
以后大家在碰到解析URL編碼的時候就不用在從網上下載工具了
利用百度就可以了哈
是這樣的
http://www.baidu.com/s?wd =(“=”號后面輸入你要解碼的URL編碼,這樣是用默認的是GB2312編碼解析)
像這樣http://www.baidu.com/s?wd=%ba%da%bf%cd
就會直接顯示解碼后的數據哦【在搜索框里】
同樣的,如果是utf-8編碼,則替換wd=后面含%的亂碼部分(粉色部分):http://www.baidu.com/s?wd=修飾語 &ie=utf-8&oe=utf-8

想要進行編碼也是可以的哦
就是在百度上輸入你想編碼的數據然后“百度一下”編碼后的數據就會顯示在上面的地址欄里WD=的后面


免責聲明!

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



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