1. 程式人生 > >字符集研究之多字節字符集和unicode字符集

字符集研究之多字節字符集和unicode字符集

spa 英語 sci lan 可能 個學生 計算機 ascii 交換

作者:朱金燦

來源:http://blog.csdn.net/clever101

本文簡介計算機中兩大字符集:多字節字符集和unicode字符集的出現及關系。

首先我們須要明確的是計算機是怎樣找到字符的,原來計算機通過一個字符編號來找到字符,這個和學校裏每一個學生都有一個學號相似。這裏的字符編號和相應的字符就構成了一個字符集。由於計算機最早是在英語國家誕生的,大多數英文信息是由英文字母、數字以及一些其他字符構成了一個128個字符的ASCII字符集。本來這對於英語國家來說夠用了。可是隨著計算機的普及,非英語國家的文字字符也須要用計算機來存儲,這時字符集就須要一種擴展機制了。

一種簡單的擴展機制就是兼容ASCII字符集。在後面加上自己的編碼。可以想象,不同字符的編號長度是不一樣的,有些是兩個字節,有些是三個字節甚至四個字節等等。這種字符集就叫多字節字符集。

多字節字符集就是多種字符集的統稱。比方中文字符集GB2312和GBK、日文編碼JIS都是多字節字符集。

由於多字節字符遵循的是各個國家的編碼,要進行信息交換必須進行繁瑣的轉換。

這時就有人想:有沒有一種編碼規則,能給全世界的字符都編上統一的編號呢?就這樣unicode字符集誕生了。unicode字符集顧名思義就是每一個字符都有一個唯一的編碼。最早的unicode字符是採用兩個字節也是16位對字符進行編碼(也就是可以對65536個字符進行編號)。故被稱為utf-16。後來發現大多信息都是英文構成的,為了節省空間,同一時候為了兼容單字節的處理系統,就出現了一種變種的unicode字符集——utf8。utf8的實現原理和多字節字符集一樣,前面是128個子符是ASCII字符,後面的採用變長的編碼方式,就是一個字符可能用兩個字節、三個字節或四個字節進行編碼。

再到後面發現16位的編碼也不夠用了,採用32位編碼,這樣就出現了utf-32。


參考文獻:

1. Unicode字符集和多字節字符集關系

字符集研究之多字節字符集和unicode字符集