字符集

字符集

多個字符的集合
字符(Character)是各種文字和符号的總稱,包括各國家文字、标點符号、圖形符号、數字等。字符集(Character set)是多個字符的集合,字符集種類較多,每個字符集包含的字符個數不同,常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。計算機要準确的處理各種字符集文字,就需要進行字符編碼,以便計算機能夠識别和存儲各種文字。中文文字數目大,而且還分為簡體中文和繁體中文兩種不同書寫規則的文字,而計算機最初是按英語單字節字符設計的,因此,對中文字符進行編碼,是中文信息交流的技術基礎。由于要編碼(encode)的字符集不同(字符不同,字符總數也不同),不同國家在設計适合自己的字符集的編碼時所采用的編碼空間和編碼方式也都各不相同。比如:當年美國人在做字符集編碼設計時将字符集的編碼空間設定為:所有能用到的有現實意義的字符不超過256個。當時美國人隻用到了128個字符,預留128個備用,而要表示這256個字符的字符集,用8比特就夠了,這就是舉世聞名的美國标準信息交換代碼(AmericanStandardCodeforInformationInterchange,ASCII碼)。而這8比特恰好與計算機中的基本存儲數據單元一字節的比特數相同,這樣一字節就恰好可以表示ASCII字符集中的一個字符[1]。
  • 中文名:字符集
  • 外文名:Character set
  • 定    義:多個字符的集合
  • 種 類:ASCII、GB2312、BIG5、GB18030等
  • 有關術語:字符
  • 學 科:計算機科學

ASCII

名稱由來

ASCII(American Standard Code for Information Interchange,美國信息互換标準編碼)是基于羅馬字母表的一套電腦編碼系統。

特點

它主要用于顯示現代英語和其他西歐語言。它是最通用的單字節編碼系統,并等同于國際标準ISO 646。

包含内容

控制字符

回車鍵、退格、換行鍵等。

可顯示字符

英文大小寫字符、阿拉伯數字和西文符号。

技術特征

7位(bits)表示一個字符,共128字符,字符值從0到127,其中32到126是可打印字符。

擴展字符集

7位編碼的字符集隻能支持128個字符,為了表示更多的歐洲常用字符對ASCII進行了擴展,ASCII擴展字符集使用8位(bits)表示一個字符,共256字符。ASCII擴展字符集:它是從ASCII字符集擴充出來的,擴充後的符号增加了表格符号、計算符号、希臘字母和特殊的拉丁符号。

GB2312

名稱由來

GB2312又稱為GB2312-80字符集,全稱為《信息交換用漢字編碼字符集·基本集》,由原中國國家标準總局發布,1981年5月1日實施。

特點

GB2312是中國國家标準的簡體中文字符集。

它所收錄的漢字已經覆蓋99.75%的使用頻率,基本滿足了漢字的計算機處理需要。在中國大陸和新加坡獲廣泛使用。

包含内容

GB2312收錄簡化漢字及一般符号、序号、數字、拉丁字母、日文假名、希臘字母、俄文字母、漢語拼音符号、漢語注音字母,共7445個圖形字符。其中包括6763個漢字,其中一級漢字3755個,二級漢字3008個;包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西裡爾字母在内的682個全角字符。

技術特征

(1)分區表示

GB2312中對所收漢字進行了“分區”處理,每區含有94個漢字/符号。這種表示方式也稱為區位碼。各區包含的字符如下:01-09區為特殊符号;16-55區為一級漢字,按拼音排序;56-87區為二級漢字,按部首/筆畫排序;10-15區及88-94區則未有編碼。

(2)雙字節表示

兩個字節中前面的字節為第一字節,後面的字節為第二字節。習慣上稱第一字節為“高字節” ,而稱第二字節為“低字節”。“高位字節”使用了0xA1-0xF7(把01-87區的區号加上0xA0),“低位字節”使用了0xA1-0xFE(把01-94加上0xA0)。

編碼舉例

以GB2312字符集的第一個漢字“啊”字為例,它的區号16,位号01,則區位碼是1601,在大多數計算機程序中,高字節和低字節分别加0xA0得到程序的漢字處理編碼0xB0A1。

計算公式是:0xB0=0xA0+16,0xA1=0xA0+1。

BIG5

名稱由來

又稱大五碼或五大碼,1984年由台灣财團法人信息工業策進會和五家軟件公司宏碁(Acer)、神通(MiTAC)、佳佳、零壹(Zero One)、大衆(FIC)創立,故稱大五碼。Big5碼的産生,是因為當時台灣不同廠商各自推出不同的編碼,如倚天碼、IBMPS55、王安碼等,彼此不能兼容;另一方面,台灣當局當時尚未推出官方的漢字編碼,而中國大陸的GB2312編碼亦未有收錄繁體中文字。

特點

Big5字符集共收錄13,053個中文字,該字符集在中國台灣使用。耐人尋味的是該字符集重複地收錄了兩個相同的字:“兀”(0xA461及0xC94A)、“嗀”(0xDCD1及0xDDFC)。

編碼方法

Big5碼使用了雙字節儲存方法,以兩個字節來編碼一個字。第一個字節稱為“高位字節”,第二個字節稱為“低位字節”。高位字節的編碼範圍0xA1-0xF9,低位字節的編碼範圍0x40-0x7E及0xA1-0xFE。各編碼範圍對應的字符類型如下:0xA140-0xA3BF為标點符号、希臘字母及特殊符号,另外于0xA259-0xA261,存放了雙音節度量衡單位用字:兙兛兞兝兡兣嗧瓩糎;0xA440-0xC67E為常用漢字,先按筆劃再按部首排序;0xC940-0xF9D5為次常用漢字,亦是先按筆劃再按部首排序。

局限性

盡管Big5碼内包含一萬多個字符,但是沒有考慮社會上流通的人名、地名用字、方言用字、化學及生物科等用字,沒有包含日文平假名及片假名字母。例如台灣視“着”為“著”的異體字,故沒有收錄“着”字。康熙字典中的一些部首用字(如“亠”、“疒”、“辵”、“癶”等)、常見的人名用字(如“堃”、“煊”、“栢”、“喆”等)也沒有收錄到Big5之中。

漢字編碼

名稱由來

GB18030的全稱是GB18030-2000《信息交換用漢字編碼字符集基本集的擴充》,是我國政府于2000年3月17日發布的漢字編碼國家标準,2001年8月31日後在中國市場上發布的軟件必須符合本标準。

特點

GB18030字符集标準的出台經過廣泛參與和論證,來自國内外知名信息技術行業的公司,信息産業部和原國家質量技術監督局聯合實施。GB18030字符集标準解決漢字、日文假名、朝鮮語和中國少數民族文字組成的大字符集計算機編碼問題。該标準的字符總編碼空間超過150萬個編碼位,收錄了27484個漢字,覆蓋中文、日文、朝鮮語和中國少數民族文字。滿足中國大陸、香港、台灣、日本和韓國等東亞地區信息交換多文種、大字量、多用途、統一編碼格式的要求。并且與Unicode3.0版本兼容,填補Unicode擴展字符字彙“統一漢字擴展A”的内容。并且與以前的國家字符編碼标準(GB2312,GB13000.1)兼容。

編碼方法

GB18030标準采用單字節、雙字節和四字節三種方式對字符編碼。單字節部分使用0×00至0×7F碼(對應于ASCII碼的相應碼)。雙字節部分,首字節碼從0×81至0×FE,尾字節碼位分别是0×40至0×7E和0×80至0×FE。

四字節部分采用GB/T11383未采用的0×30到0×39作為對雙字節編碼擴充的後綴,這樣擴充的四字節編碼,其範圍為0×81308130到0×FE39FE39。其中第一、三個字節編碼碼位均為0×81至0×FE,第二、四個字節編碼碼位均為0×30至0×39。

包含内容

雙字節部分收錄内容主要包括GB13000.1全部CJK漢字20902個、有關标點符号、表意文字描述符13個、增補的漢字和部首/構件80個、雙字節編碼的歐元符号等。四字節部分收錄了上述雙字節字符之外的,包括CJK統一漢字擴充A在内的GB13000.1中的全部字符。

字符編碼系統

名稱由來

Unicode字符集編碼是Universal Multiple-Octet Coded Character Set通用多八位編碼字符集的簡稱,是由一個名為Unicode學術學會(Unicode Consortium)的機構制訂的字符編碼系統,支持現今世界各種不同語言的書面文本的交換、處理及顯示。

該編碼于1990年開始研發,1992年公布1.0.1,最新版本是2020年3月Unicode 13.0.0。

特征

Unicode是一種在計算機上使用的字符編碼。

它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平台進行文本轉換、處理的要求。

編碼方法

Unicode标準始終使用十六進制數字,而且在書寫時在前面加上前綴“U+”。

例如字母“A”的編碼為0x0041和字符“€”的編碼為0x20AC,所以“A”、“€”的編碼書寫為“U+0041”、“U+20AC”。

UTF-8編碼

UTF-8是Unicode的其中一個使用方式。UTF是Unicode Tranformation Format,即把Unicode轉做某種格式的意思。UTF-8便于不同的計算機之間使用網絡傳輸不同語言和編碼的文字,使得雙字節的Unicode能夠在現存的處理單字節的系統上正确傳輸。UTF-8使用可變長度字節來儲存Unicode字符,例如ASCII字母繼續使用1字節儲存,重音文字、希臘字母或西裡爾字母等使用2字節來儲存,而常用的漢字就要使用3字節。輔助平面字符則使用4字節。UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。由Ken Thompson于1992年創建。已經标準化為RFC3629。UTF-8用1到6個字節編碼UNICODE字符。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

比較

UTF-16和UTF-32編碼。UTF-32、UTF-16和UTF-8是Unicode标準的編碼字符集的字符編碼方案,UTF-16使用一個或兩個未分配的16位代碼單元的序列對Unicode代碼點進行編碼;UTF-32即将每一個Unicode代碼點表示為相同值的32位整數。

字符集

漢字編碼字符集是按照一組無歧義的規則而定義的漢字字彙的有序集合。其中每一個漢字與它的代碼表示之間都具有一一對應的關系。在信息技術中用于漢字信息的表示、交換、傳輸、處理、存儲、輸入及顯現。在國際标準化組織ISO的定義中,“無歧義的規則”是很重要的,制定這些規則的目的是為了确保編碼的唯一性,避免重碼。它包括下列一些内容:

編碼目标

專用還是通用,僅僅用于信息交換,還是也可用于信息處理。編碼體系結構,編碼的空間的安排。

收字原則

确定收入什麼字彙。

排序方式

漢字在字符集中排列的規則。

是否分級

怎樣分級。

編碼原則

基本上按字形編碼。為此需要制定認同或甄别的規則以及對特例的約定。

與其它編碼字符集的對應關系。實際上,在信息技術中漢字編碼字符集無一例外地還包含非漢字的符号與拉丁文、希臘文、西裡爾文等其它文種的字符。或者與其它更多文種的字符并存于一個龐大的編碼字符集。

其他釋義

字符集是指用來組織、控制或表示數據項的字母、數字以及計算機能識别的符号。例如,紙帶或穿孔卡片上的輸入符号,各種輸出設備的控制和輸出符号,終端設備上的鍵盤字符以及存儲在存儲區中,供處理機存、取和識别的符号。高級語言能識别的,并在語法上有意義的所有字符的集合,稱為該語言的字符集。一般微型計算機的BASIC語言字符集,含字符約60個,包括拉丁字母、十進制數碼、運算符、圓括号、比較符、标點符号及某些特殊符号($、#等)。其他符号(包括漢字)則可以按規定的辦法,作為字符型數據來處理。

各種字符(包括标點符号)要按語法組合成有确切含義的成份,構成數據項、指令、語句以至程序段。計算機語言中各種符号的使用,要比自然語言中更嚴格。石家莊供電公司大部分應用系統的後台數據庫都采用Oracle數據庫,由于各種原因,基于Oracle設計的系統數據庫有的采用中文字符集,有的采用英文字符集。

相關詞條

相關搜索

其它詞條