聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

焦點(diǎn)滾動:為什么瀏覽器中會出現(xiàn)百分號和字母數(shù)字組成的亂碼?原因分析

來源:CSDN 時(shí)間:2023-04-11 14:33:27

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

其實(shí),這里由%和數(shù)字字母組成的有規(guī)律性的“亂碼”它們并不真是亂碼,它們是一種特殊的編碼,有電腦基礎(chǔ)的人就知道,計(jì)算機(jī)它是不認(rèn)得中文漢字的,要讓計(jì)算機(jī)認(rèn)識這些編碼必須要轉(zhuǎn)換成一些字母和數(shù)字等組成的代碼。


(資料圖片僅供參考)

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

中文的gbk(GB2312)編碼

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

中文的UTF-8編碼

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

再看個(gè)例子

http://www.google.cn/search?q=%BA%BA%D7%D6 &ie=GB2312&oe=GB2312&hl=zh-CN (GB2312編碼) http://www.google.cn/search?complete=1&hl=zh-CN&q=%E6%B1%89%E5%AD%97 &meta=&aq=null (UTF-8編碼)

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

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

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

責(zé)任編輯:

標(biāo)簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top