我們在瀏覽網(wǎng)站的時候經(jīng)常會看到一些類似亂碼的字符串。這些是如何產(chǎn)生的呢松靡,又該怎么解決简僧。
Paste_Image.png
基本你所看到的網(wǎng)頁都是圖上這個流程,那么亂碼是怎么產(chǎn)生的呢雕欺?
圖中‘’網(wǎng)頁‘’比喻成一個中國人岛马,服務(wù)器比喻成一個聊天軟件,瀏覽器比喻成一個外國人屠列,那么就是你和一個外國人在對話啦逆,你說的是中文,外國人說的英文笛洛,那么問題就產(chǎn)生了夏志,你們都聽不懂對方說的是什么。怎么解決這個問題呢苛让?
解決的方式就是你也說英語那對方就明白了沟蔑,或者對方學(xué)漢語這樣這樣對方也能明白湿诊。
怎么能讓網(wǎng)頁和瀏覽器使用相同的語言呢。這里我們就少幾種編碼方式
- ASCII
全稱美國標(biāo)準(zhǔn)信息交換代碼(American Standard Code for Information Interchange)的縮寫, 為美國英語通信所設(shè)計瘦材。它由128個字符組成厅须,包括大小寫字母、數(shù)字0-9食棕、標(biāo)點符號朗和、非打印字符(換行符、制表符等4個)以及控制字符(退格簿晓、響鈴等)組成眶拉,每個字符占7位(1字節(jié)是8位)。就是只有英文憔儿、數(shù)字和標(biāo)點符號镀层,如果有中文就會出現(xiàn)亂碼
- ISOLatin-1
可以認(rèn)為ASCII是美國發(fā)明針對英語設(shè)計的知道就行了,用不上
- Unicode
后來計算機不斷發(fā)展擴展到亞洲非洲皿曲,如何用計算機使用的二進(jìn)制表示這些語言又成了問題。ISOLatin-1的8位字符集只能表示256個字符吴侦,而僅漢語就有80000以上個字符屋休。如何把地球上絕大多數(shù)語言用一種編碼方式表示出來呢? 于是發(fā)明了UNICODE編碼备韧,只用2個字節(jié)(16位)就可以編碼地球上幾乎所有地區(qū)的文字劫樟。終于有中文了
- UTF-8
utf-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼织堂。UTF-8用1到6個字節(jié)編碼UNICODE字符叠艳。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文易阳,韓文)附较。普遍都用這個
- GBK
中國制定一套自己的規(guī)則,于是用2個字節(jié)來表示一個漢字潦俺,總共可以覆蓋2萬多個文字拒课。 保留UTF-8同樣的方式使用一個字節(jié)來表示英文。推薦在國內(nèi)使用
使網(wǎng)頁和瀏覽器使用相同的語言事示,我們不用控制瀏覽器的編碼方式早像,因為每個瀏覽器都有自動檢測頁面編碼的功能
Paste_Image.png
我們只要在自己的網(wǎng)頁上使用meta標(biāo)簽聲明網(wǎng)頁的編碼方式就可以避免頁面亂碼的問題
<meta charset="utf-8">
本文章著作權(quán)歸 杜憲 和饑人谷(QQ 群: 222459918) 所有,轉(zhuǎn)載須說明來源