倍可親

漢字世界(9) 中日韓統一漢字

作者:kylelong  於 2009-11-12 05:10 發表於 最熱鬧的華人社交網路--貝殼村

作者分類:文學文字|通用分類:其它日誌|已有10評論

關鍵詞:

中日韓統一漢字,標識為Unicode,也叫中日韓統一表意文字,英語:CJK Unified Ideographs(CJK就是中日韓的英文首字母),也稱統漢字(Unihan)。1990年代初,ISO 10646制訂時,來自台灣的代表提出相同形式的中日韓漢字給以統一編碼(Unify,ISO術語稱為認同),可以大量節省編碼空間,獲其他代表接納。

中日韓統一表意文字,目的是要把分別來自中文、日文、韓文、越文中,本質相同、形狀一樣或稍異的表意文字(主要為漢字,但也有仿漢字如方塊壯字、日本國字、韓國獨有漢字、越南的喃字)於ISO 10646及Unicode標準內賦予相同編碼。越南文後來加入此計劃,所以亦有 CJKV(中日韓越統一表意文字)的稱呼。Unicode亦開始收錄越漢字--喃字。有關Unihan Code Charts的信息,見網頁:

http://www.unicode.org/
http://www.unicode.org/charts/unihan.html。

其中,ISO 10646 版本1993,相當於Unicode 版本1.0,收錄漢字20,914個;ISO 10646 版本2003第八修訂版,相當於Unicode 版本5.2,收錄漢字74,525個。

最初期的統一漢字(20,902字)字源來自以下字集:中國大陸的G源、台灣的T源、日本的J源以及韓國的K源。此外,還有擴展A區,包含有6,582個新的漢字,位置在 U+3400-U+4DB5;擴展B區,包含有42,711個新的漢字,位置在 U+20000-U+2A6D6。另外,在 U+2F800-U+2FA1D 的位置,放了542個來自台灣的兼容漢字;擴展C區,收錄4,149個漢字,包括來自中國大陸、澳門、台灣、日本、越南等尚未被編碼的漢字。位置在 U+2A700-U+2B734;擴展D區,編碼範圍為 U+2B740-U+2B81E,編碼223個漢字;擴展E區,即之前的擴展D區計劃收錄的漢字,因為急用漢字(UNC)被放置在擴展D區,所以之前計劃的擴展D區改為擴展E區。

已統一的漢字,原則上ISO 10646隻對字(Character),而非字形(Glyph)編碼。同一字各地可使用自己的標準寫法。使用HTML標示同一編碼的字在不同地區中的寫法(但只是讀者電腦提供的字型,未必代表該地區的標準寫法)。沒有統一的漢字,有些字只是同一字在不同地區的寫法,理應統一,但因為字源分離原則而只好分開編碼。值得注意的是字源分離原則由「Unicode聯盟決定把不正統的編入位於基本多文種平面的 『相容表意文字區』(Compatibility Ideographs)」時起廢棄,原因是CNS中有太多字形非常接近,按 Unicode 標準應該統一的字。這些字只有正統的會編入正式字集(包括擴展A、B、C區)中,不正統的編入位於「第二輔助平面」的「相容表意文字補充區」(Compatibility Ideographs Supplement)中。


為什麼要使用Unicode文字編碼呢?

Windows系統的電腦中,所有文件的漢字都是採用8、16、32等進位數據進行編碼的(漢字無疑是世界上最複雜的文字)。當漢字顯示出來時(暫且不考慮如何輸入的),Windows首先將文本數據轉換到它內部使用的編碼格式:Unicode,然後按照文本的Unicode去字體文件中查找字體圖像,最後將圖像顯示到窗口上。所謂編碼,就是用數字錶示字元,例如用D7D6表示「字」。當然,編碼還意味著約定,即大家都認可。

在Unicode被廣泛使用前,有多少種語言、文字,就可能有多少種文字編碼方案。一種文字也可能有多種編碼方案。我們可以看到記事本支持4種編碼格式:ANSI、Unicode、Unicode big endian、UTF-8。Unicode、Unicode big endian、UTF-8,其實它們更準確的名稱應該是UTF-16LE(Little Endian)、UTF-16BE(Big Endian)和UTF-8,它們是基於Unicode的不同編碼方案。

這裡要涉及代碼頁(Code Page)這個古老的專業術語,據說是IBM公司首先使用的。代碼頁和字符集的含義基本相同,代碼頁規定了適用於特定地區的字符集合,和這些字元的編碼。可以將代碼頁理解為字元和位元組數據的映射表。Windows為自己支持的代碼頁都編了一個號碼。例如代碼頁936就是簡體中文 GBK,代碼頁950就是繁體中文 Big5。代碼頁的概念比較簡單,就是一個字元編碼方案。但要說清楚Windows的ANSI代碼頁,就要從Windows的區域(Locale)說起了。

微軟為了適應世界上不同地區用戶的文化背景和生活習慣,在Windows中設計了區域(Locale)設置的功能。Local是指特定於某個國家或地區的一組設定,包括代碼頁,數字、貨幣、時間和日期的格式等。在Windows內部,其實有兩個Locale設置:系統 Locale和用戶Locale。系統Locale決定代碼頁,用戶Locale決定數字、貨幣、時間和日期的格式。我們可以在控制面板的「區域和語言選項」中設置系統Locale和用戶Locale:每個Locale都有一個對應的代碼頁。系統Locale對應的代碼頁被作為Windows的默認代碼頁。在沒有文本編碼信息時,Windows按照默認代碼頁的編碼方案解釋文本數據。這個默認代碼頁通常被稱作ANSI代碼頁(ACP)。

在Windows 2000以後,Windows統一採用UTF-16作為內部字元編碼。現在,安裝一個代碼頁就是安裝一張代碼頁轉換表。通過代碼頁轉換表,Windows 既可以將代碼頁的編碼轉換到UTF-16,也可以將UTF-16轉換到代碼頁的編碼。代碼頁轉換表的具體實現可以是一個以nls為後綴的數據文件,也可以是一個提供轉換函數的動態鏈接庫。有的代碼頁是不需要安裝的。例如:Windows將UTF-7和UTF-8分別作為代碼頁65000和代碼頁 65001。UTF-7、UTF-8和UTF-16都是基於Unicode的編碼方案。它們之間可以通過簡單的演算法直接轉換,不需要安裝代碼頁轉換表。

在安裝過一個代碼頁后,Windows就知道怎樣將該代碼頁的文本轉換到Unicode文本,也知道怎樣將Unicode文本轉換成該代碼頁的文本。其實,如果全世界人民在計算機剛發明時就統一採用Unicode作為字元編碼,那麼代碼頁就沒有存在的必要了。可惜在 Unicode被發明前,世界各國人民都發明並使用了各種字元編碼方案。所以,Windows必須通過代碼頁支持已經被廣泛使用的字元編碼。從這種意義看,代碼頁主要是為了兼容現有的數據、程序和習慣而存在的。

再談Unicode

Unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案。Unicode用數字 0-0x10FFFF來映射這些字元,最多可以容納1114112個字元,或者說有1114112個碼位。碼位就是可以分配給字元的數字。UTF-8、 UTF-16、UTF-32都是將數字轉換到程序數據的編碼方案。

Unicode字符集可以簡寫為UCS(Unicode Character Set)。早期的Unicode標準有UCS-2、UCS-4的說法。UCS-2用兩個位元組編碼,UCS-4用4個位元組編碼。UCS-4根據最高位為0的最高位元組分成2^7=128個group。每個group再根據次高位元組分為256個平面(plane)。每個平面根據第3個位元組分為256行(row),每行有256個碼位(cell)。group 0的平面0被稱作BMP(Basic Multilingual Plane)。將UCS-4的BMP去掉前面的兩個零位元組就得到了UCS-2。

先看一些數字:每個平面有2^16=65536個碼位。Unicode計劃使用了17個平面,一共有 17*65536=1114112個碼位。其實,現在已定義的碼位只有238605個,分佈在平面0、平面1、平面2、平面14、平面15、平面16。其中平面15和平面16上只是定義了兩個各佔65534個碼位的專用區(Private Use Area),分別是0xF0000-0xFFFFD和0x100000-0x10FFFD。所謂專用區,就是保留給大家放自定義字元的區域,可以簡寫為 PUA。

平面0也有一個專用區:0xE000-0xF8FF,有6400個碼位。平面0的0xD800-0xDFFF,共2048個碼位,是一個被稱作代理區(Surrogate)的特殊區域。它的用途將在4.2節介紹。

238605-65534*2-6400-2408=99089。餘下的99089個已定義碼位分佈在平面0、平面 1、平面2和平面14上,它們對應著Unicode目前定義的99089個字元,其中包括71226個漢字。平面0、平面1、平面2和平面14上分別定義了52080、3419、43253和337個字元。平面2的43253個字元都是漢字。平面0上定義了27973個漢字。

UCD是Unicode字元資料庫(Unicode Character Database)的縮寫。UCD由一些描述Unicode字元屬性和內部關係的純文本或html文件組成。UCD中的文本文件大都是適合於程序分析的Unicode相關數據。其中的html文件解釋了資料庫的組織,數據的格式和含義。UCD中最龐大的文件無疑就是描述漢字屬性的文件Unihan.txt。在UCD 5.0,0中,Unihan.txt文件大小有28,221K位元組。Unihan.txt中包含了很多有參考價值的索引,例如漢字部首、筆劃、拼音、使用頻度、四角號碼排序等。這些索引都是基於一些比較權威的辭典,但大多數索引只能檢索部分漢字。

以上這些闡述,我也不是很明白,無非是要表明一點,即CJKV漢字(中日韓越統一表意文字),只是一個電腦漢字字元的編碼,而且已經得到全世界的公認。這個編碼為世界各國使用漢字的人們提供了學習和交流的平台,但與任何政治的、感情的、傳統的因素無關。

(本專輯全部結束)


(收集)
1

高興

感動

同情

搞笑

難過

拍磚

支持

鮮花

發表評論 評論 (10 個評論)

回復 hu18 2009-11-12 05:45
蛤蟆跳井——不懂。
回復 kylelong 2009-11-12 05:47
hu18: 蛤蟆跳井——不懂。
回復 孤舟獨釣 2009-11-12 06:03
請教龍老師:
"琞"這個字用什麼輸入法才可在電腦上打出來?
回復 kylelong 2009-11-12 06:14
孤舟獨釣: 請教龍老師:
"琞"這個字用什麼輸入法才可在電腦上打出來?
琞,我用紫光拼音。
回復 孤舟獨釣 2009-11-12 06:36
kylelong: 琞,我用紫光拼音。
謝謝!
回復 kylelong 2009-11-12 06:51
孤舟獨釣: 謝謝!
不客氣。
回復 DW02 2009-11-12 21:10
學習!

好難哦。  幸虧不用考試!
回復 kylelong 2009-11-12 22:22
DW02: 學習!

好難哦。  幸虧不用考試!
了解一下,比不了解好啊。
回復 zhousx18 2009-11-13 11:51
統一什麼呀,日韓如要使用中國的漢字,必須尊重中國的漢字文化,不允許自創漢字,使用時按照一個字一次收取一元人民幣的價格。
回復 kylelong 2009-11-13 12:27
zhousx18: 統一什麼呀,日韓如要使用中國的漢字,必須尊重中國的漢字文化,不允許自創漢字,使用時按照一個字一次收取一元人民幣的價格。
那中國發了。

facelist doodle 塗鴉板

您需要登錄后才可以評論 登錄 | 註冊

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-6-12 16:23

返回頂部