Unicode碼

Unicode碼

Unicode只有一個字元集,中、日、韓的三種文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍採用的是UCS-2,它用兩個位元組來編碼一個字元, 比如漢字"經"的編碼是0x7ECF,注意字元碼一般用十六進制來 表示,為了與十進制區分,十六進制以0x開頭,0x7ECF轉換成十進制 就是32463,UCS-2用兩個位元組來編碼字元,兩個位元組就是16位二進制, 2的16次方等於65536,所以UCS-2最多能編碼65536個字元。 編碼從0到127的字元與ASCII編碼的字元一樣,比如字母"a"的Unicode 編碼是0x0061,十進制是97,而"a"的ASCII編碼是0x61,十進制也是97, 對於漢字的編碼,事實上Unicode對漢字支持不怎么好,這也是沒辦法的, 簡體和繁體總共有六七萬個漢字,而UCS-2最多能表示65536個,才六萬 多個,所以Unicode只能排除一些幾乎不用的漢字,好在常用的簡體漢字 也不過七千多個,為了能表示所有漢字,Unicode也有UCS-4規範,就是用 4個位元組來編碼字元

定義

Unicode碼擴展自ASCII字元集。在嚴格的ASCII中,每個字元用7位元表示,或者電腦上普遍使用的每字元有8位元寬;而Unicode使用全16位元字元集。這使得Unicode能夠表示世界上所有的書寫語言中可能用於電腦通訊的字元、象形文字和其他符號。Unicode最初打算作為ASCII的補充,可能的話,最終將代替它。考慮到ASCII是電腦中最具支配地位的標準,所以這的確是一個很高的目標。

Unicode影響到了電腦工業的每個部分,但也許會對作業系統和程式設計語言的影響最大。從這方面來看,我們已經上路了。Windows NT從底層支持Unicode。

目前計算機中用得最廣泛的字元集及其編碼,是由美國國家標準局(ANSI)制定的ASCII碼(American Standard Code for Information Interchange,美國標準信息交換碼),它已被國際標準化組織(ISO)定為國際標準,稱為ISO 646標準。適用於所有拉丁文字字母,ASCII碼有7位碼和8位碼兩種形式。

方法

因為1位二進制數可以表示(2^1=)2種狀態:0、1;而2位二進制數可以表示(2^2)=4種狀態:00、01、10、11;依次類推,7位二進制數可以表示(2^7=)128種狀態,每種狀態都唯一地編為一個7位的二進制碼,對應一個字元(或控制碼),這些碼可以排列成一個十進制序號0~127。所以,7位ASCII碼是用七位二進制數進行編碼的,可以表示128個字元。

第0~32號及第127號(共34個)是控制字元或通訊專用字元,如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BEL(振鈴)等;

通訊專用字元:SOH(文頭)、EOT(文尾)、ACK(確認)等;

第33~126號(共94個)是字元,其中第48~57號為0~9十個阿拉伯數字;65~90號為26個大寫英文字母,97~122號為26個小寫英文字母,其餘為一些標點符號、運算符號等。

注意:在計算機的存儲單元中,一個ASCII碼值占一個位元組(8個二進制位),其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規定:正確的代碼一個位元組中1的個數必須是奇數,若非奇數,則在最高位b7添1;偶校驗規定:正確的代碼一個位元組中1的個數必須是偶數,若非偶數,則在最高位b7添1。

增添Unicode碼內容:它前128個字元就是ASCII碼,之後是擴展碼。在Unicode碼中,各個字元塊基於同樣的標準。其中有希臘字母,西里爾文,亞美尼亞文,希伯來文等。而漢文,韓語,日語的象形文字占用從0X3000到0X9FFF的代碼。最傑出的地方是,它只有一個字元集,有效的避免了雙位元組字元集的二義性。缺點是:占用的記憶體空間比ASCII大1倍。

Unicode碼:Unicode碼也是一種國際標準編碼,採用二個位元組編碼,與ASCII碼不兼容。目前,在網路、Windows系統和很多大型軟體中得到套用。

相關詞條

相關搜尋

熱門詞條

聯絡我們