UNICODE與ASCII的區(qū)別
最早只有127個字母被編碼到計算機里,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為ASCII編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。
但是要處理中文顯然一個字節(jié)是不夠的,至少需要兩個字節(jié),而且還不能和ASCII編碼沖突,所以,中國制定了GB2312編碼,用來把中文編進去。
你可以想得到的是,全世界有上百種語言,日本把日文編到Shift_JIS里,韓國把韓文編到Euc-kr里,各國有各國的標準,就會不可避免地出現沖突,結果就是,在多語言混合的文本中,顯示出來會有亂碼。
因此,Unicode應運而生。Unicode把所有語言都統(tǒng)一到一套編碼里,這樣就不會再有亂碼問題了。
Unicode標準也在不斷發(fā)展,但最常用的是用兩個字節(jié)表示一個字符(如果要用到非常偏僻的字符,就需要4個字節(jié))?,F代操作系統(tǒng)和大多數編程語言都直接支持Unicode。
新的問題又出現了:如果統(tǒng)一成Unicode編碼,亂碼問題從此消失了。但是,如果你寫的文本基本上全部是英文的話,用Unicode編碼比ASCII編碼需要多一倍的存儲空間,在存儲和傳輸上就十分不劃算。

1.ASCII的特點
ASCII 是用來表示英文字符的一種編碼規(guī)范。每個ASCII字符占用1 個字節(jié),因此,ASCII 編碼可以表示的最大字符數是255(00H—FFH)。這對于英文而言,是沒有問題的,一般只什么用到前128個(00H--7FH,最高位為0)。而最高位為1 的另128 個字符(80H—FFH)被稱為“擴展ASCII”,一般用來存放英文的制表符、部分音標字符等等的一些其它符號。
但是對于中文等比較復雜的語言,255個字符顯然不夠用。于是,各個國家紛紛制定了自己的文字編碼規(guī)范,其中中文的文字編碼規(guī)范叫做“GB2312—80”, 它是和ASCII 兼容的一種編碼規(guī)范, 其實就是利用擴展ASCII沒有真正標準化這一點,把一個中文字符用兩個擴展ASCII 字符來表示,以區(qū)分ASCII 碼部分。
但是這個方法有問題,最大的問題就是中文的文字編碼和擴展ASCII 碼有重疊。而很多軟件利用擴展ASCII 碼的英文制表符來畫表格,這樣的軟件用到中文系統(tǒng)中,這些表格就會被誤認作中文字符,出現亂碼。另外,由于各國和各地區(qū)都有自己的文字編碼規(guī)則,它們互相沖突,這給各國和各地區(qū)交換信息帶來了很大的麻煩。
2.UNICODE的產生
要真正解決這個問題,不能從擴展ASCII 的角度入手,UNICODE作為一個全新的編碼系統(tǒng)應運而生,它可以將中文、法文、德文……等等所有的文字統(tǒng)一起來考慮,為每一個文字都分配一個單獨的編碼。
3.什么是UNICODE
Unicode與ASCII一樣也是一種字符編碼方法,它占用兩個字節(jié)(0000H—FFFFH),容納65536 個字符,這完全可以容納全世界所有語言文字的編碼。在Unicode 里,所有的字符都按一個字符來處理, 它們都有一個唯一的Unicode 碼。
4.使用UNICODE的好處
使用Unicode 編碼可以使您的工程同時支持多種語言, 使您的工程國際化。即在不同語言的系統(tǒng)下不至于產生亂碼。
電子發(fā)燒友App













評論