筆者在日常使用的sublime text 2俱济,不知道為什么經(jīng)常會跳出編碼提示级历。也不知道為什么瀏覽頁面的時候就出現(xiàn)亂碼格式纺荧。所以就想寫篇博客來記錄一下饱搏。
WHY(為什么非剃?)
短解釋:
文檔編碼格式與解碼格式不一致時,就會產(chǎn)生沖突使得出現(xiàn)亂碼現(xiàn)象推沸。
長解釋:
其實很簡單就是網(wǎng)頁在編輯會聲明文檔的編碼格式备绽,而當(dāng)頁面在瀏覽器解析過程中,由于自動檢測之后并沒有使用正確的解碼格式去解析文檔鬓催,所以就亂碼了肺素。
HOW(解決)
在文檔中設(shè)置好編碼格式,瀏覽器在解析時候就能按相對應(yīng)的解碼格式解析了宇驾。所以在文檔中要有這樣的一句話
<meta charset="UTF-8">
編碼
歸根結(jié)底就是編碼方式的問題倍靡。那么我們了解一些最常見的編碼方式,畢竟字符編碼是計算機的基石课舍,想要熟練的使用計算機塌西,就必須懂一點字符編碼的知識。
1. ASCII
全稱美國信息交換標(biāo)準(zhǔn)代碼(American Standard Code for Information Interchange)的縮寫筝尾,是基于拉丁字母的一套電腦編碼系統(tǒng)捡需。
背景:
上世紀(jì)60年代,美國指定了一套字符編碼筹淫,對英語字符和二進(jìn)制之間的關(guān)系做了統(tǒng)一的規(guī)定站辉。這就是ASCII碼。
原理:
我們都知道损姜,在計算機內(nèi)部饰剥,所有的信息最終都是用二進(jìn)制的字符串存儲。而每一個二進(jìn)制位(bit)只有0和1兩種狀態(tài)摧阅,一字節(jié)需要用八個二進(jìn)制位來表示捐川,就可以組合出256種狀態(tài)。
內(nèi)容:
一共規(guī)定了128個字符的編碼逸尖,比如空格"SPACE"是32(二進(jìn)制00100000),大寫的字母A是65(二進(jìn)制01000001)瘸右。這128個符號(包括32個不能打印出來的控制符號)娇跟,只占用了一個字節(jié)的后面7位,最前面的1位統(tǒng)一規(guī)定為0太颤。
2. UNICODE
背景:
后來計算機不斷的發(fā)展拓展到了亞洲非洲苞俘,便出現(xiàn)了一個問題,如何用計算機使用的二進(jìn)制表示這些語言龄章。于是發(fā)明了UNICODE編碼吃谣,只用兩個字節(jié)(16位)就可以編碼地球上幾乎所有地區(qū)的文字乞封,就像它的名字意思表示的一樣。具體符號可以查unicode.org/岗憋,或是專門的漢字對應(yīng)表肃晚。
3. UTF-8
UTF-8是Unicode的實現(xiàn)方式之一。
背景:
互聯(lián)網(wǎng)的普及仔戈,強烈要求出現(xiàn)一種統(tǒng)一的編碼方式关串。UTF-8就是在互聯(lián)網(wǎng)上使用最廣的一種Unicode的實現(xiàn)方式。
編碼方式:
UTF-8用1到6個字節(jié)編碼UNICODE字符监徘。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文晋修,日文,韓文)凰盔。
4. GBK
背景:
93年墓卦,Unicode 1.1版本推出,收錄了通用字符集的漢字户敬,總共20902個落剪。中國大陸訂定了等同于Unicode 1.1的"GB 13000.1-93",只收錄了6763個漢字山叮,于是廠商微軟利用GB 2312-80未使用的編碼空間著榴,收錄GB 13000.1-93全部字符制定了GBK編碼。
注:
UNICODE只是給字符一個代號屁倔,而GBK和UTF-8使用不同的規(guī)則來表示同一個代號脑又。
結(jié)束語
由于筆者能力能力十分有限,文章都是在查閱百科以及閱讀他人博客編纂而成锐借,可能其中有缺陷的地方问麸,請在下方留言指出。
拓展閱讀
- 字符編碼筆記:ASCII钞翔,Unicode和UTF-8
- 各標(biāo)題的維基百科鏈接
- Chrome打開網(wǎng)頁顯示亂碼的解決方法
本文章著作權(quán)歸白小霽所有严卖,轉(zhuǎn)載須說明來源