本文介紹的內容是簡體、繁體兩種書寫體和 GBK 、 UTF-8 、 BIG5 三種字元集。

目前 Comsenz 康盛創想旗下的各個產品以及整合安裝包都包含四個版本:簡體 GBK 、簡體 UTF-8 、繁體 BIG5 、繁體 UTF-8 。為了方便選擇合適的版本,介紹這些知識。

本文分為六個部分:

  1. 一、字元集釋出時間表
  2. 二、漢字編碼字元集介紹    
              

    1. 1 、 GB2312 、 GB 13000 、 GBK 、 GB18030 介紹
    2.         

    3. 2 、 GB 18030 的優點
    4.         

    5. 3 、國標碼 (國家標準程式碼)
    6.         

    7. 4 、 BIG5 繁體中文字元集
    8.     

  3. 三、 Unicode 標準萬國碼介紹    
              

    1. 1 、 Unicode 介紹
    2.         

    3. 2 、 Unicode 版本釋出時間表
    4.         

    5. 3 、 UTF-8 介紹
    6.     

  4. 四、 GB 13000 、 GB 18030 和 Unicode 之間的比較
  5. 五、選擇合適的版本
  6. 六、參考資料

最新產品下載:http://comsenz.com/downloads/install

歷史產品下載:http://download.comsenz.com/

四個版本的下載截圖

一、字元集釋出時間表

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

編碼字元集 釋出時間 是否中國國家標準 收錄字元 說明
GB 2312-80 1980 年 6763 個漢字
GB 13000.1-93 1993 年 對應國際標準 ISO/IEC 10646 20902 個漢字 為世界上所有文字編碼
GBK 1995 年 21000 個以上 已被 GB 18030 取代
GB 18030-2000 2000 年 中國強制性國家標準 27484 個漢字  
GB 18030-2005 2005 年 中國強制性國家標準 70244 個漢字 為我國文字編碼
Unicode 5.1 2008 年 國外行業標準 十萬個字元 為世界上所有文字編碼
BIG5-2003 2003 年 行業標準 13060 個漢字

二、漢字編碼字元集介紹

本節內容部分摘錄自全國資訊科技標準化技術委員會的技術檔案。

原文地址:http://www.nits.gov.cn/sc2/jishufile1.asp

1 、 GB2312 、 GB 13000 、 GBK 、 GB18030 介紹

GB 2312:又稱為 GB 2312-80,是一個簡體中文字元集的中國國家標準,於 1980 年由中國國家標準總局釋出,1981 年 5 月 1 日實施,全稱為 《資訊交換用漢字編碼字元集基本集》,規定了 6763 個漢字和 682 個非漢字圖形。

GB 13000:為了便於多個文種的同時處理,國際標準化組織下屬編碼字元集工作組研製了新的編碼字元集標準,ISO/IEC 10646 。該標準第一次頒佈是在 1993 年,當時只頒佈了其第一部分,即 ISO/IEC 10646.1: 1993,我國相應的國家標準是 GB 13000.1-93 《資訊科技 通用多八位編碼字元集 (UCS) 第一部分:體系結構與基本多文種平面》 。

制定這個標準的目的是對世界上的所有文字統一編碼,以實現世界上所有文字在計算機上的統一處理。

GBK:隨著資訊科技在各行業應用的深入,GB 2312 收錄漢字數量不足的缺點已經初步顯露出來。例如:"鎔"字現在是高頻率使用字,而 GB 2312 卻沒有為它編碼,因而,政府、新聞、出版、印刷等行業和部門在使用中感到十分不便。 1995 年,全世界大多數的 PC 作業系統都實現了 16/32 位。 GB 13000.1 的實現出現了一線曙光。一方面為了對 GB 2312 進行擴充,一方面順應當時技術的發展向 GB 13000.1 推進,同時兼顧當時最廣泛採用 GB 2312 內碼系統。原電子部和原國家技術監督局聯合頒佈了指導性技術檔案 《漢字內碼擴充套件規範》 1.0 版,即 GBK 。

在 GBK 的內碼系統中,GB 2312 漢字所在碼位保持不便,這樣,保證了 GBK 對 GB 2312 的完全相容。同時,GBK 內碼與 GB 13000.1 程式碼一一對應,為 GBK 向 GB 13000.1 的轉換提供瞭解決辦法。

微軟對 GB 2312 的擴充套件,也就是 CP936 字碼表 (Code Page 936) 的擴充套件 (原來的 CP936 和 GB 2312-80 一模一樣),最初出現於 Windows 95 簡體中文版中。

注意 GBK 並非國家正式標準,只是國家技術監督局標準化司、電子工業部科技與質量監督司釋出的 「技術規範指導性檔案」 。雖然 GBK 收錄了所有 Unicode 1.1 及 GB 13000.1-93 之中的漢字,但是編碼方式與 Unicode 1.1 及 GB 13000.1-93 不同。僅僅是 GB 2312 到 GB 13000.1-93 之間的過渡方案。

GB 18030-2000:1995 年之後的實踐表明,GBK 作為行業規範,缺乏足夠的強制力,不利於其本身的推廣,而我們寄予厚望的 GB 13000 的實現又腳步緩慢,現有漢字編碼字元集標準已經不能滿足我國資訊化建設的需要。

為此,原國家質量技術監督局和資訊產業部組織專家制定釋出了新的編碼字元集標準,GB 18030-2000 《資訊科技 資訊交換用漢字編碼字元集 基本集的擴充》 。

GB 18030-2000 收錄了 ISO/IEC 10646.1: 2000 的全部 27484 個 CJK 統一漢字,13 個表意文字描述符、部分漢字部首和部件、歐元符號。在編碼體繫上,GB 18030 統一了內碼和交換碼的概念。它完全相容 GB 2312 和 GBK 的編碼體系,繼承 GBK 的程式碼對映表的優點,解決了 GB 18030 和 GB 13000 之間的程式碼轉換。

GB 18030-2005:全稱:國家標準 GB 18030-2005 《資訊科技中文編碼字元集》,是中華人民共和國目前最新的內碼字元集,是 GB 18030-2000 《資訊科技 資訊交換用漢字編碼字元集基本集的擴充》 的修訂版。與 GB 2312-1980 完全相容,與 GBK 基本相容,支援 GB 13000 及 Unicode 的全部統一漢字,共收錄漢字 70244 個。

2 、 GB 18030 的優點

1) 編碼漢字數量大

與西方文字不同,漢字是表意文字,成千上萬的不同含義需要成千上萬的不同漢字來表示。西方文字主要是拼音文字,透過幾十個字母的組合就可以變出成千上萬的單詞。在計算機裡面,西方文字只需要給幾十個字母編碼就夠了,而每一個漢字都要一個編碼才行。根據專家的統計,一般中文應用系統需要 13,000 個左右的漢字,大型中文應用系統需要 23,000 個左右的漢字,政府機關的專用中文應用系統需要 48,000 個左右的漢字,而圖書館用的中文應用系統需要的漢字可能超過 10 萬。 GB 18030-2000 達到了 27484 個漢字,基本上可以滿足目前政府機關內部工作、政府機關的網上工作、電子商務、以及其他網上服務行業的需要。此外,GB 18030 還提供了 13 漢字結構符和一些漢字部件,為某些尚未編碼的漢字的解決提供了方案。不僅如此,GB 18030 建立的編碼體系提供了超過 150 萬個編碼位置的編碼空間,為未來增補漢字作了充分準備。一旦本標準得到實現,類似"鎔"字的人名、地名在計算機輸入中遇到的困難將越來越少,直至最終完全解決。

2) 對 GB 2312 、 GBK 和 GB 13000 的相容

GB 18030 透過提供完整、清晰、明確的程式碼對映表,採用 GB 18030 的計算機系統可以輕易地識別和處理 GB 2312 和 GBK 編碼,降低了系統改造/升級的成本。如果未來需要採用 GB 13000,則通 GB 18030 和 GB 13000 程式碼的對映表可以輕鬆

地在二者之間進行
轉換。

3) 對字元編碼技術的發展的貢獻

在現有系統中,字元編碼空間十分有限,例如:GBK 只提供了 23940 個編碼位置。 GB 18030 透過對編碼空間的擴充套件提供了超過 160 萬個編碼位置 (23949+1587600) 。可以自信地說,不僅我國所有漢字都可以在這個標準裡面編碼,而且我國所有少數民族文字也可以在這個標準裡面編碼,從此不必再擔心編碼空間不足的問題了。

4) 對標準的使用者自定義區和標準保留區的使用做了明確、詳細的規定

根據經驗,標準或規範的使用者往往誤以為標準的使用者自定義區和標準保留區可以任意使用,完全自由,因而在標準、規範的實現中自作主張,各按所需使用。實踐證明,這種做法非常危險,造成的後果十分嚴重。 GB 18030 在研製中充分考慮了標準的使用者自定義區和標準表留區的問題,明確而詳細規定了其使用方法,要求所有標準實現者必須按照標準做,徹底杜絕了類似問題的再次出現。

5) 強制性國家標準

直到不久之前,還經常有人抱怨編碼的漢字太少了,只有 GB 2312 的 6763 個漢字,不能滿足使用要求。而此時,收錄了 20954 個漢字的 GBK 早已釋出並在一些作業系統上實現多年了。經過調查發現:由於 GBK 是個行業規範,缺乏足夠的強制力,很多軟體開發商並不實現這個規範。而產品的終端使用者由於不知道還有這樣一個規範,不知道要求軟體開發商來實現它。而 GB 18030 是個強制性標準,解決了這個問題。首先,軟體開發商不得不重視標準,實現標準。其次,標準的知名度要大大高於規範的知名度,而強制性標準的知名度更高。中文軟體的終端使用者知道了由一個兩萬七千漢字的標準,就會要求軟體開發商來實現。

3 、國標碼 (國家標準程式碼)

國家標準程式碼,簡稱國標碼,是中國的中文常用漢字編碼集,也被新加坡採用。

現在 GB 18030 為中國強制性國家標準,但較舊的計算機仍然使用 GB 2312 。

較常見的國家漢字標準程式碼列表:

GB 2312-80
資訊交換用漢字編碼字元集 基本集 (又稱為 GB0)
GB 13000-93
資訊科技 通用多八位編碼字元集 (UCS) 第一部分
GB 18030-2005
資訊科技 中文編碼字元集

其他中華人民共和國發布有關漢字標準程式碼列表:

GB/T 12345 - 90
資訊交換用漢字編碼字元集 第一輔助集 (又稱為 GB1)
GB/T 7589 - 87
資訊交換用漢字編碼字元集 第二輔助集 (又稱為 GB2)
GB 13131 - 91
資訊交換用漢字編碼字元集 第三輔助集 (又稱為 GB3)
GB/T 7590 - 87
資訊交換用漢字編碼字元集 第四輔助集 (又稱為 GB4)
GB 13132 - 91
資訊交換用漢字編碼字元集 第五輔助集 (又稱為 GB5)
GB/T 16500 - 1998
資訊交換用漢字編碼字元集 第七輔助集

國家推薦標準以 "/T" 來表示並非強制執行。

由於 GB 2312-80 只收錄了 6763 個漢字,未能覆蓋繁體中文字、部分人名、方言、古漢語等方面出現的罕用字,所以釋出了以上的輔助集。

其中,GB/T 12345-90 輔助集是 GB 2312-80 基本集的繁體字版本;GB 13131-91 是 GB/T 7589-87 的繁體字版本;GB 13132-91 是 GB/T 7590-87 的繁體字版本。而 GB/T 16500-1998 是繁體字版本,它並無對應的簡體字版本。

鑑於第二輔助集及第四輔助集,有不少漢字均是 「類推簡化漢字」,實用性不高,因而較少人採用,而且沒有收入 通用字元集 ISO/IEC 10646 標準中。

中國國家標準總局於 2000 年推出強制性的 GB 18030-2000 標準。於 2001 年 8 月 31 日後釋出或出廠的產品,必須符合 GB 18030-2000 的相關要求。這個標準的最新版本是 GB 18030-2005,它的 2 位元組部分是強制性的。

4 、 BIG5 繁體中文字元集

Big5,又稱為大五碼或五大碼,是使用繁體中文的地區中常用的電腦漢字字元集標準,共收錄 13060 個漢字,2003 年,新版本釋出,稱為 Big5-2003 。

Big5 常用於臺灣、香港與澳門等使用繁體中文的地區,倚天中文系統、 Windows 等主要系統的字元集都是以 Big5 為基準,但廠商又各自增刪,衍生成多種不同版本。

中文電腦流行後,由於很多字被認為是異體字而未被收錄。例如常見的人名用字 (如 「堃」 、 「煊」 、 「栢」(歌手張柏芝) 、 「喆」(歌手陶喆) 等),雖被中文社會廣泛採用,也沒有收錄到 Big5 之中。在網際網路上,常看到人們把堃、煊、喆等字,寫成為 「方方土」 、 「火宣」 和 「吉吉」 等寫法。電視上日本動畫的中文字幕中也會看到像 「木堅」 這樣的字。

由於各廠商及政府推出的 Big5 延伸,彼此互不相容,造成亂碼問題。因為 Unicode 能正確地處理七萬多個漢字,近年的作業系統和應用程式 (如蘋果電腦 Mac OS X 和以 Cocoa API 編寫的程式、 Microsoft Windows 2000 及之後版本、 Microsoft Office 2000 及之後版本、 Mozilla 瀏覽器、 Internet Explorer 瀏覽器、 Java 語言等等),已改用 Unicode 編碼。可惜現時仍有一些舊的軟體 (如 Visual Basic 6 、部分 Telnet 或 BBS 軟體),未能支援 Unicode 編碼,所以預計 Big5 缺字的問題仍會困擾使用者一段時間,直到所有程式都能改用 Unicode 為止。

三、 Unicode 標準萬國碼相關介紹

1 、 Unicode 介紹

在電腦科學領域中,Unicode(統一碼、萬國碼、單一碼、標準萬國碼) 是業界的一種標準,包含了超過十萬個字元。

Unicode 的開發結合了國際標準化組織 (ISO) 所制定的 ISO/IEC 10646,即通用字元集 (Universal Character Set,簡稱 UCS) 。 Unicode 與 ISO/IEC 10646 在編碼的運作原理相同,但 The Unicode Standard 包含了更詳盡的實現資訊、涵蓋了更細節的主題,諸如字元編碼 (bitwise encoding) 、校對以及呈現等。 The Unicode Standard 也列舉了諸多的字元特性,包含了那些必須支援雙方向呈現的文字。 Unicode 與 ISO/IEC 10646 兩個標準在術語上的使用有些微的不同。

Unicode 是由於傳統的字元編碼方式的侷限性而產生的,例如 ISO 8859 所定義的字元雖然在不同的國家中廣泛地使用,可是在不同國家間卻經常出現不相容的情況。很多傳統的編碼方式都具有一個共同的問題,即其允許電腦進行雙語環境的處理 (通常使用拉丁字母以及其本地語言),但卻無法同時支援多語言環境的處理 (指可同時處理混合多種語言的情況) 。

Unicode 在字元集的成功,使其得以在電腦軟體的國際化與本地化領域中,廣泛且具優勢的被採用。這標準已在近年來的多種新科技當中被加以採用,包含了可擴充套件置標語言 (XML) 、 Java 程式語言、以及新的作業系統中。

Unicode 組織 (The Unicode Consortium) 是由一個非營利性的機構所運作,位於美國加州的 Unicode 組織允許任何願意支付會員費用的公司或是個人加入,其成員包含了主要的電腦軟硬體廠商,例如奧多比系統 (Adobe Systems) 、蘋果公司 (Apple) 、惠普 (HP) 、 IBM 、微軟 (Microsoft) 、全錄 (Xerox) 等。

2 、 Unicode 截至目前為止歷次的版本與釋出時間如下:

  • Unicode 1.0:1991 年 10 月
  • Unicode 1.0.1:1992 年 6 月
  • Unicode 1.1:1993 年 6 月
  • Unicode 2.0:1997 年 7 月
  • Unicode 2.1:1998 年 5 月
  • Unicode 2.1.2:1998 年 5 月
  • Unicode 3.0:1999 年 9 月;涵蓋了來自 ISO 10646-1 的十六位元通用字元集 (UCS) 基本多文種平面 (Basic Multilingual Plane)
  • Unicode 3.1:2001 年 3 月;新增從 ISO 10646-2 定義的輔助平面 (Supplementary Planes)

  • Unicode 3.2:2002 年 3 月
  • Unicode 4.0:2003 年 4 月
  • Unicode 4.0.1:2004 年 3 月
  • Unicode 4.1:2005 年 3 月
  • Unicode 5.0:2006 年 7 月
  • Unicode 5.1:2008 年 4 月

3 、 UTF-8 介紹

UTF-8(8 位通用字元集/Unicode 轉換格式) 是針對 Unicode 的一種可變長度字元編碼。它可以用來表示 Unicode 標準中的任何字元,而且其編碼中的第一個位元組仍與 ASCII 相容,使得原來處理 ASCII 字元的軟體無需或只作少部份修改後,便可繼續使用。因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。

因特網工程工作小組 (IETF) 要求所有因特網協議都必須支援 UTF-8 編碼。網際網路郵件聯盟 (IMC) 建議所有電子郵件軟體都支援 UTF-8 編碼。

四、 GB 13000 、 GB 18030 和 Unicode 之間的比較

本節內容引用自全國資訊科技標準化技術委員會的技術檔案。不代表本站觀點。

原文地址:http://www.nits.gov.cn/sc2/jishufile1-3.asp

與 GB 2312 相比,上面提到的其它幾種標準/規範的字彙要大的多,在廣義上都可以稱為"大字元集",顯然優於 GB 2312 。因此,下面的比較將不包括 GB 2312 。由於 GBK 已經為 GB 18030 取代,下面的比較將在 GB 13000 、 GB 18030 和 Unicode 規範之間進行。

1 、技術

三者的編碼空間都十分龐大:GB 18030 的編碼位置超過了 1,600,000 個,ISO/IEC 10646 和 Unicode 規範的編碼位置更高達 2,147,483,648 個。就編碼空間來說,無論哪一個標準,都可以綽綽有餘地容納世界上所有文字在其中編碼。因此,三個標準在編碼空間大小上沒有優劣之分。

三者的字彙都十分巨大:GB 18030 力圖為全部漢字和我國所有少數民族文字編碼,ISO/IEC 10646 和 Unicode 規範力圖為世界上所有文字編碼。因此,前者具有更強的針對性,後者具有更強的通用性。三者都採用了四位元組的編碼方式:為了擴大編碼空間,增加編碼位置,必須採用多位元組編碼方式。 ISO/IEC 10646 和 Unicode 規範透過在基本多文種平面劃出"代理區"對映輔助平面的方式實現四位元組編碼,GB 13000 透過 0x30 到 0x39 碼位實現編碼空間擴充套件,達到四位元組。由於 GB 18030 採用了雙位元組和四位元組的混合排列,因此在標準的實現過程中略微複雜一些。

在我國,GB 18030 具有更好的相容性:GB 18030 完全解決了對採用 GB 2312 和 GBK 編碼的檔案的相容問題,實現了舊有編碼體系向新的編碼體系的平滑過渡;同時,GB 18030 透過對映表方式解決了它與 ISO/IEC 10646 以及 Unicode 規範之間的程式碼轉換問題。而 ISO/IEC 10646 和 Unicode 規範由於其全球通用性要求,無法全面解決相容性問題。

2 、管理

GB 18030 是我國獨立研製的編碼字元集標準,目的是滿足我國國內對文字編碼的需要。標準的修訂和解釋由我國有關管理部門和技術專家掌握,根據技術發展和使用需要,我們隨時可以修訂該標準,具有很高的自主權。

ISO/IEC 10646 是在 ISO/IEC JTC1 領導下由各國專家共同制定的國際標準。自八十年代中期以來,我國一直積極參加該標準的研製和修訂工作。特別是在該標準漢字部分的研製和修訂工作 中,我國擔任著漢字工作組的召集人和主編,具有很大的影響力。

Unicode 規範是一個由產業界部分有影響的公司起草的規範性檔案,它的研製和修訂由 Unicode 組織掌握。換句話說,少數國外大公司完全控制了 Unicode 規範的制定和產品實現的程式。我國的資訊科技和資訊產業尚未發展成熟,對 Unicode 規範施加影響是十分困難的,即使是在漢字部分,我們的影響力也十分有限。

3 、結論

綜上所述,GB 18030 、 ISO/IEC 10646(GB 13000) 和 Unicode 規範在技術上都十分優秀。從我國資訊科技和資訊產業發展的角度考慮,無論採用 GB 18030 還是 ISO/IEC 10646 都十分有利,而在我國採用 Unicode 規範顯然是不合適的。考慮到解決我國使用者的需要和解決舊有系統的相容性問題,以及資訊安全的要求,目前採用 GB 18030 是較為有利的選擇。

五、選擇合適的版本

由此可以得出結論:

如果是簡體中文使用者,由於 GBK 已經為 GB 18030 取代採用 GB 18030 是較為有利的選擇,如果產品沒有 GB 18030 版本,可以採用 GBK 中國行業規範的版本。如果有多語言環境的需要,推薦採用 ISO/IEC 10646(GB 13000) 。在我國採用 Unicode 規範顯然是不合適的。如果產品沒有 GB 13000 版本,可以採用 Unicode 國外行業規範的版本。建議使用簡體 UTF-8 版本。

如果是繁體中文使用者,建議使用繁體 UTF-8 版本。

注意:安裝 Comsenz 康盛創想旗下的各個產品,要選擇相同的字元集版本,比如首先安裝 UTF-8 版本的 UCenter ,然後安裝 UTF-8 版本的 Discuz! ,這樣才能夠正常使用。

六、參考資料

本文的反饋請論壇聯絡 sink