編碼指不同國家的語言在計算機中的一種儲存和解釋規範
ANSI與ASCII
最初,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
由於每種語言都制定了自己的字符集,導致最後存在的各種字符集實在太多,在國際交流中要經常轉換字符集非常不便。因此,產生了Unicode字符集,它固定使用16 bits(兩個位元組)來表示一個字元,共可以表示65536個字元
標準的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
當一個軟體開啟一個文字時,它要做的第一件事是決定這個文字究竟是使用哪種字符集的哪種編碼儲存的。軟體一般採用三種方式來決定文字的字符集和編碼:
檢測檔案頭標識,提示使用者選擇,根據一定的規則猜測
最標準的途徑是檢測文字最開頭的幾個位元組,開頭位元組 Charset/encoding,
編碼指不同國家的語言在計算機中的一種儲存和解釋規範
ANSI與ASCII
最初,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
由於每種語言都制定了自己的字符集,導致最後存在的各種字符集實在太多,在國際交流中要經常轉換字符集非常不便。因此,產生了Unicode字符集,它固定使用16 bits(兩個位元組)來表示一個字元,共可以表示65536個字元
標準的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
當一個軟體開啟一個文字時,它要做的第一件事是決定這個文字究竟是使用哪種字符集的哪種編碼儲存的。軟體一般採用三種方式來決定文字的字符集和編碼:
檢測檔案頭標識,提示使用者選擇,根據一定的規則猜測
最標準的途徑是檢測文字最開頭的幾個位元組,開頭位元組 Charset/encoding,