字元是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。字符集是多個字元的集合,字符集種類較多,每個字符集包含的字元個數不同,常見字符集名稱:ascii字符集、gb2312字符集、big5字符集、 gb 18030字符集、unicode字符集等。計算機要準確的處理各種字符集文字,需要進行字元編碼,以便計算機能夠識別和儲存各種文字。
中文文字數目大,而且還分為簡體中文和正體中文兩種不同書寫規則的文字,而計算機最初是按英語單位元組字元設計的,因此,對中文字元進行編碼,是中文資訊交流的技術基礎。本文將按照字符集的時間順序討論幾種典型的字符集,選取幾種代表性的中文字符集,研究歷史由來、特點、技術特徵。
ascii 字符集
1.名稱的由來
ascii(american standard code for information interchange,美國資訊互換標準**)是基於羅馬字母表的一套電腦編碼系統。
2.特點
它主要用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,並等同於國際標準iso 646。
3.包含內容
控制字元:回車鍵、退格、換行鍵等。
可顯示字元:英文大小寫字元、阿拉伯數字和西文符號
4.技術特徵
7位(bits)表示乙個字元,共128字元
5.ascii擴充套件字符集
7位編碼的字符集只能支援128個字元,為了表示更多的歐洲常用字元對ascii進行了擴充套件,ascii擴充套件字符集使用8位(bits)表示乙個字元,共256字元。
ascii擴充套件字符集比ascii字符集擴充出來的符號包括**符號、計算符號、希臘字母和特殊的拉丁符號。
gb2312 字符集
1.名稱的由來
gb2312又稱為gb2312-80字符集,全稱為《資訊交換用漢字編碼字符集·基本集》,由原中國國家標準總局發布,2023年5月1日實施。
2.特點
gb2312是中國國家標準的簡體中文字符集。它所收錄的漢字已經覆蓋99.75%的使用頻率,基本滿足了漢字的計算機處理需要。在中國大陸和新加坡獲廣泛使用。
3.包含內容
gb2312收錄簡化漢字及一般符號、序號、數字、拉丁字母、日文假名、希臘字母、俄文本母、漢語拼音符號、漢語注音字母,共 7445 個圖形字元。其中包括6763個漢字,其中一級漢字3755個,二級漢字3008個;包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個全形字符。
4.技術特徵
(1)分割槽表示:
gb2312中對所收漢字進行了「分割槽」處理,每區含有94個漢字/符號。這種表示方式也稱為區位碼。
各區包含的字元如下:01-09區為特殊符號;16-55區為一級漢字,按拼音排序;56-87區為二級漢字,按部首/筆畫排序;10-15區及88-94區則未有編碼。
(2)雙位元組表示
兩個位元組中前面的位元組為第一位元組,後面的位元組為第二位元組。習慣上稱第一位元組為「高位元組」 ,而稱第二位元組為「低位元組」。
「高位位元組」使用了0xa1-0xf7(把01-87區的區號加上0xa0),「低位位元組」使用了0xa1-0xfe(把01-94加上0xa0)。
5.編碼舉例
以gb2312字符集的第乙個漢字「啊」字為例,它的區號16,位號01,則區位碼是1601,在大多數電腦程式中,高位元組和低位元組分別加0xa0得到程式的漢字處理編碼0xb0a1。計算公式是:0xb0=0xa0+16, 0xa1=0xa0+1。
big5 字符集
1.名稱的由來
又稱大五碼或五大碼,2023年由台灣財團法人資訊工業策進會和五間軟體公司巨集碁 (acer)、神通 (mitac)、佳佳、零壹 (zero one)、大眾 (fic)創立,故稱大五碼。
big5碼的產生,是因為當時台灣不同廠商各自推出不同的編碼,如倚天碼、ibm ps55、王安碼等,彼此不能相容;另一方面,台灣**當時尚未推出官方的漢字編碼,而中國大陸的gb2312編碼亦未有收錄正體中文本。
2.特點
big5字符集共收錄13,053個中文字,該字符集在中國台灣使用。耐人尋味的是該字符集重複地收錄了兩個相同的字:「兀」(0xa461及0xc94a)、「嗀」(0xdcd1及0xddfc)。
3.字元編碼方法
big5碼使用了雙位元組儲存方法,以兩個位元組來編碼乙個字。第乙個位元組稱為「高位位元組」,第二個位元組稱為「低位位元組」。高位位元組的編碼範圍0xa1-0xf9,低位位元組的編碼範圍0x40-0x7e及0xa1-0xfe。
各編碼範圍對應的字元型別如下:0xa140-0xa3bf為標點符號、希臘字母及特殊符號,另外於0xa259-0xa261,存放了雙音節度量衡單位用字:兙兛兞兝兡兣嗧瓩糎;0xa440-0xc67e為常用漢字,先按筆劃再按部首排序;0xc940-0xf9d5為次常用漢字,亦是先按筆劃再按部首排序。
4.big5 的侷限性
儘管big5碼內包含一萬多個字元,但是沒有考慮社會上流通的人名、地名用字、方言用字、化學及生物科等用字,沒有包含日文平假名及片假名字母。
例如台灣視「著」為「著」的異體字,故沒有收錄「著」字。康熙字典中的一些部首用字(如「亠」、「疒」、「辵」、「癶」等)、常見的人名用字(如「堃」、「煊」、「栢」、「喆」等) 也沒有收錄到big5之中。
gb18030 字符集
1.名稱的由來
gb 18030的全稱是gb18030-2000《資訊交換用漢字編碼字符集基本集的擴充》,是我國**於2023年3月17日發布的新的漢字編碼國家標準,2023年8月31日後在中國市場上發布的軟體必須符合本標準
2.特點
gb 18030字符集標準的出台經過廣泛參與和論證,來自國內外知名資訊科技行業的公司,資訊產業部和原國家質量技術監督局聯合實施。
gb 18030字符集標準解決漢字、日文假名、朝鮮語和中國少數民族文字組成的大字符集計算機編碼問題。該標準的字元總編碼空間超過150萬個編碼位,收錄了27484個漢字,覆蓋中文、日文、朝鮮語和中國少數民族文字。滿足中國大陸、香港、台灣、日本和南韓等東亞地區資訊交換多文種、大字量、多用途、統一編碼格式的要求。並且與unicode 3.0版本相容,填補unicode擴充套件字元字彙「統一漢字擴充套件a」的內容。並且與以前的國家字元編碼標準(gb2312,gb13000.1)相容。
3.編碼方法
gb 18030標準採用單位元組、雙位元組和四位元組三種方式對字元編碼。單位元組部分使用0×00至0×7f碼(對應於ascii碼的相應碼)。雙位元組部分,首位元組碼從0×81至0×fe,尾位元組碼位分別是0×40至0×7e和0×80至0×fe。四位元組部分採用gb/t 11383未採用的0×30到0×39作為對雙位元組編碼擴充的字尾,這樣擴充的四位元組編碼,其範圍為0×81308130到0×fe39fe39。其中第
一、三個位元組編碼碼位均為0×81至0×fe,第
二、四個位元組編碼碼位均為0×30至0×39。
4.包含的內容
雙位元組部分收錄內容主要包括gb13000.1全部cjk漢字20902個、有關標點符號、表意文字描述符13個、增補的漢字和部首/構件80個、雙位元組編碼的歐元符號等。 四位元組部分收錄了上述雙位元組字元之外的,包括cjk統一漢字擴充a在內的gb 13000.1中的全部字元。
unicode字符集
1.名稱的由來
unicode字符集編碼是universal multiple-octet coded character set 通用多八位編碼字符集的簡稱,是由乙個名為 unicode 學術學會(unicode consortium)的機構制訂的字元編碼系統,支援現今世界各種不同語言的書面文字的交換、處理及顯示。該編碼於2023年開始研發,2023年正式公布,最新版本是2023年3月31日的unicode 4.1.0。
2.特徵
unicode是一種在計算機上使用的字元編碼。它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,以滿足跨語言、跨平台進行文字轉換、處理的要求。
3.編碼方法
unicode 標準始終使用十六進製制數字,而且在書寫時在前面加上字首「u+」,例如字母「a」的編碼為 004116 和字元「€」的編碼為 20ac16。所以「a」的編碼書寫為「u+0041」。
4.utf-8 編碼
utf-8是unicode的其中乙個使用方式。 utf是 unicode translation format,即把unicode轉做某種格式的意思。
utf-8便於不同的計算機之間使用網路傳輸不同語言和編碼的文字,使得雙位元組的unicode能夠在現存的處理單位元組的系統上正確傳輸。
utf-8使用可變長度位元組來儲存 unicode字元,例如ascii字母繼續使用1位元組儲存,重音文字、希臘字母或西里爾字母等使用2位元組來儲存,而常用的漢字就要使用3位元組。輔助平面字元則使用4位元組。
5.utf-16 和 utf-32 編碼
utf-32、utf-16 和 utf-8 是 unicode 標準的編碼字符集的字元編碼方案,utf-16 使用乙個或兩個未分配的 16 位**單元的序列對 unicode **點進行編碼;utf-32 即將每乙個 unicode **點表示為相同值的 32 位整數。
補: 字元編碼
標準名
描述us-ascii
7位的美國ascii碼
iso-8859-1
8位的iso latin 1 字母
utf-8
8位的unicode轉換格式
注:對iso-8859字元的乙個很好的說明是:http://-czyborra.com/charsets/iso8859.html
utf-8和utf-16的定義請參看rfc2279(http://ietf.org/rfc/rfc2279.txt)和rfc2781(http://ietf.org/rfc/rfc2781.txt)
中文字符集與字元編碼的基礎知識
字元是各種文字和符號的總稱,包括各國家文字 標點符號 圖形符號 數字等。字符集是多個字元的集合,字符集種類較多,每個字符集包含的字元個數不同,常見字符集名稱 ascii字符集 gb2312字符集 big5字符集 gb 18030字符集 unicode字符集等。計算機要準確的處理各種字符集文字,需要進...
中文字符集與字元編碼的基礎知識
字元是各種文字和符號的總稱,包括各國家文字 標點符號 圖形符號 數字等。字符集是多個字元的集合,字符集種類較多,每個字符集包含的字元個數不同,常見字符集名稱 ascii字符集 gb2312字符集 big5字符集 gb 18030字符集 unicode字符集等。計算機要準確的處理各種字符集文字,需要進...
中文字符集與字元編碼的基礎知識
字元是各種文字和符號的總稱,包括各國家文字 標點符號 圖形符號 數字等。字符集是多個字元的集合,字符集種類較多,每個字符集包含的字元個數不同,常見字符集名稱 ascii字符集 gb2312字符集 big5字符集 gb 18030字符集 unicode字符集等。計算機要準確的處理各種字符集文字,需要進...