字符集编码ANSI和UNICODE
?本文為原創,參考了一些網上的資料.
編碼指不同國家的語言在計算機中的一種存儲和解釋規范
ANSI與ASCII
n最初,Internet上只有一種字符集——ANSI的ASCII字符集(American Standard Code for Information Interchange, “美國信息交換標準碼),它使用7 bits來表示一個字符,總共表示128個字符,后來IBM公司在此基礎上進行了擴展,用8bit來表示一個字符,總共可以表示256個字符,充分利用了一個字節所能表達的最大信息
nANSI字符集:ASCII字符集,以及由此派生并兼容的字符集,如:GB2312,正式的名稱為MBCS(Multi-Byte Chactacter System,多字節字符系統),通常也稱為ANSI字符集。
UNICODE與UTF8,UTF16
n由于每種語言都制定了自己的字符集,導致最后存在的各種字符集實在太多,在國際交流中要經常轉換字符集非常不便。因此,產生了Unicode字符集,它固定使用16 bits(兩個字節)來表示一個字符,共可以表示65536個字符
n標準的Unicode稱為UTF-16(UTF:UCS Transformation Format )。后來為了雙字節的Unicode能夠在現存的處理單字節的系統上正確傳輸,出現了UTF-8,使用類似MBCS的方式對Unicode進行編碼。(Unicode字符集有多種編碼形式)
?例如“連通”兩個字的Unicode標準編碼UTF-16 (big endian)為:DE 8F 1A 90
???????????????? 而其UTF-8編碼為:E8 BF 9E E9 80 9A
n當一個軟件打開一個文本時,它要做的第一件事是決定這個文本究竟是使用哪種字符集的哪種編碼保存的。軟件一般采用三種方式來決定文本的字符集和編碼:
檢測文件頭標識,提示用戶選擇,根據一定的規則猜測
最標準的途徑是檢測文本最開頭的幾個字節,開頭字節 Charset/encoding,如下表:
EF BB BF UTF-8
FE FF UTF-16/UCS-2, little endian
FF FE UTF-16/UCS-2, big endian
FF FE 00 00 UTF-32/UCS-4, little endian.
00 00 FE FF UTF-32/UCS-4, big-endian.
轉載于:https://www.cnblogs.com/zyk/archive/2004/11/17/64747.html
總結
以上是生活随笔為你收集整理的字符集编码ANSI和UNICODE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从Matrix到这个idea
- 下一篇: 注册成功,首次登陆