搞懂ASCII, ISO8859-1, ANSI和Unicode

ANSI (American National Standards Institute)字符集:

ASCII字符集+MBCS(Multi-Byte Character System)字符集,如GB2312。

ASCII : 最初,ANSI只包括一種字符集(ASCII-American Standard Code for Information Interchange)。ASCII碼使用7bit表示一個字符,共128個字符。之後IBM在此基礎上做了擴展,用8bit表示1個字符,共256個 字符,稱爲ISO-8859-1字符集

MBCS : 爲使計算機支持更多語言,這些派生的字符集通常使用 0x80~0xFF 範圍的 2 個字節來表示 1 個字符. 漢字 '中' 在中文操作系統(使用ANSI編碼)中,使用 [0xD6,0xD0] 這兩個字節存儲。在簡體中文系統下,MBCS編碼代表 GB2312 編碼,在繁體中文系統中,MBCS編碼代表BIG5,日文操作系統下,MBCS 編碼代表 JIS 編碼。

 

Unicode: 由於ANSI字符集在不同語言環境下的不統一,導致字符集太多,國際交流中也需要進行字符集轉換,帶來很大不便。於是出現了unicode字符集。該字符集使用16bit代表一個字符,可表示65536個字符。使用Unicode字符集時,方法strlen對一箇中文字符執行的結果是1。爲了在網絡上傳輸unicode字符,Unicode可以有多種編碼方式,如UTF-16, UTF-8, UTF-32等


UTF-16 : 標準的Unicode稱爲UTF-16(UCS Transformation System)。這種編碼方式由於採用兩個字節表示一個字符,所以與ASCII碼不兼容
UTF-8 : 爲了雙字節的unicode可在單字節系統正確傳輸,出現了UTF-8。通過UTF-8編碼的字節長短不同,0-127範圍內的字符被編成1個字節,0080-07ff的字符被編成2個字節,0800-ffff的字符被編成3個字節...

發佈了67 篇原創文章 · 獲贊 9 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章