UNICODE與ASCII的區別

2021-07-02 19:54:39 字數 1043 閱讀 2247

最近的專案涉及到了國際化的問題,由於之前並沒有接觸到unicode編碼,因此,在專案期間,收集了一些關於ascii和unicode的資料。

1.ascii的特點

ascii 是用來表示英文本元的一種編碼規範。每個ascii字元占用1 個位元組,因此,ascii 編碼可以表示的最大字元數是255(00h—ffh)。這對於英文而言,是沒有問題的,一般只什麼用到前128個(00h--7fh,最高位為0)。而最高位為1 的另128 個字元(80h—ffh)被稱為「擴充套件ascii」,一般用來存放英文的製表符、部分音標字元等等的一些其它符號。

但是對於中文等比較複雜的語言,255個字元顯然不夠用。於是,各個國家紛紛制定了自己的文字編碼規範,其中中文的文字編碼規範叫做「gb2312—80」, 它是和ascii 相容的一種編碼規範, 其實就是利用擴充套件ascii沒有真正標準化這一點,把乙個中文字元用兩個擴充套件ascii 字元來表示,以區分ascii 碼部分。

但是這個方法有問題,最大的問題就是中文的文字編碼和擴充套件ascii 碼有重疊。而很多軟體利用擴充套件ascii 碼的英文製表符來畫**,這樣的軟體用到中文系統中,這些**就會被誤認作中文字元,出現亂碼。另外,由於各國和各地區都有自己的文字編碼規則,它們互相衝突,這給各國和各地區交換資訊帶來了很大的麻煩。

2.unicode的產生

要真正解決這個問題,不能從擴充套件ascii 的角度入手,unicode作為乙個全新的編碼系統應運而生,它可以將中文、法文、德文……等等所有的文字統一起來考慮,為每乙個文字都分配乙個單獨的編碼。
3.什麼是unicode

unicode與ascii一樣也是一種字元編碼方法,它占用兩個位元組(0000h—ffffh),容納65536 個字元,這完全可以容納全世界所有語言文字的編碼。在unicode 裡,所有的字元都按乙個字元來處理, 它們都有乙個唯一的unicode 碼。
4.使用unicode的好處

使用unicode 編碼可以使您的工程同時支援多種語言, 使您的工程國際化。即在不同語言的系統下不至於產生亂碼。

ASCII 與 UNICODE 字元對映表

通用 mfc 資料型別 對映到 ascii 對映到 unicode 注釋 tchar char wchar t tchar 是乙個對映巨集,當定義 unicode 時,該資料型別對映到 wchar t,如果沒有定義 unicode,那麼它對映到 char。t 或 text char 常量字串 wch...

Unicode是什麼編碼,與ASCII的關係

今天在看python的轉義字元的時候,在字串中寫 u x的時候出現錯誤 syntaxerror unicodeerror,於是搜了一下unicode。1 utf 32 將字元的unicode編號直接轉換成二進位制儲存。使用4個位元組,即32位。2 utf 16 utf 16使用變長位元組表示,使用2...

關於ASCII和Unicode字集

void cdrawview onlbuttondown uint nflags,cpoint point 錯誤 error c2664 cwnd messageboxw 不能將引數 1 從 const char 75 轉換為 lpctstr messagebox t don t create do...