◎ 一字一碼的時代困境
我們必須深刻地覺悟到,承載中文資訊的中文碼,其設計對「數位中華」的影響是既深且遠的,不深入觀察分析,大家也習以為常,難以發現它無所不在的影響以及其嚴肅性。就以康熙字典為例,一萬多字的 BIG5 碼是做不出有四萬多字的康熙字典的。
為了讓你發現這些在我們數位生活中存在的諸多無奈事實,且讓我們來分析觀察英文字 (word) 的結構。
首先我們來看字序的問題。我們都知道,英文碼的基本定義是 0~127 的 ASCII 碼,其中有 "A~Z"、"a~z" 的 52 個「英文字母」 (character),其餘為字符碼及控制碼。由 ASCII 碼的英文字母所構成有意義語素是 word,我們就以「英文字」稱之。各位請注意到,英文字循著 ABC 的排序,就有了一個自然的、本質的排序。
在此基石之上,舉凡字典的安排、資料庫的製作、物料的列舉、二元搜尋 (binary search) 的方法、鍵盤的設計、作業系統表單的設計、快捷鍵 (HOT KEY) 的安排等,無不存在這 ASCII 編碼的基本設想,可是中文字卻沒有這個序,只要稍微有中文處理經驗的人,便可以知道,資料欄位沒有確定的排序,電話簿中的人名沒有確定的排序!
為了這樣的緣故,中文資料總是要另外自行設代碼或編號欄位等,以方便處理。相對於英文,中文的資料處理,便增加了一層無所不在的額外成本。
一、發現潛藏在當今「一字一碼」架構中的意義
現在,再讓我們來看看當今中文字一字一碼的問題。
為了讓讀者發現這些潛藏在文字架構中影響力,讓我們來考慮下面的文字假設情況:
如果,我們把 ASCII碼拿掉,改用一個英文字也像中文一樣一字一碼,那麼將會是個怎樣的景象?
我們先假設下列英文字都有了內碼:
PERSONAL 內碼是 $FF3A
CENTRAL 內碼是 $BB01
PROCESSING 內碼是 $FF3B
UNIT 內碼是 $FF3C
MACHINE 內碼是 $CC01
COMPUTING 內碼是 $DD02
那麼 COMPUTING MACHINE(內碼為 $DD02 $CC01)就沒有機會因為它的重要性日增而改稱 COMPUTER。請注意:因為沒有 "COMPUTER" 這個內碼,如果要,就要經過標準機構公佈新碼才會存在!
好!假設真有那麼一天,「標準機構」「收錄」了 COMPUTER 這個新字:
COMPUTER 擴充新內碼是$AA01
一樣的問題又來了,在有了 "COMPUTER" 這個新字碼之後,PERSONAL COMPUTER(內碼 $FF3A $AA01)仍不能馬上改稱 PC,因為還沒有定下 "PC" 這個字碼!
同樣地,中央處理單元 CENTRAL PROCESSOING UNIT(內碼$BB01 $FF3B $FF3C)更不會簡稱 CPU了,因為如果英文字也是像中文一字一碼的話,也就沒有機會新創 "CPU" 這個字了。
當然這是個假設性的探索,英文文字事實上可以自然地隨著時代的需要「進化」,這可是關乎到一個文化的根本活力。
然而,這卻也正是這些年來,一字一碼的中文所經歷的過程。
諸位一定可以體會到,所謂的一字一碼,就是拿處理「英文字」(word) 的方式來處理中文字,這是一個耗時費力而不切實際的過程!
然而,我們更需要嚴肅看待是這樣的困局所引發的嚴重後果:
漢字停止演化!
只因為在一字一碼的架構中,要增加一個新字,是一個令人無法承受的夢魘!
讀者是否可以看出來,當一字定成一碼的時候,由於是人為指定,於是一個新字必須經過標準機構的公佈才有可能流通和使用,然而即便一個新字已經公佈了,無數 已經在運行的系統又如何去更新呢?所以,這是成本非常高、過程複雜且時間漫長的過程!其真正的結果就是「停止造新字!」,這就是這幾十年漢字僵化的景況。
於是,當今的一字一碼架構也就成了漢文字生機的死胡同!很無奈地,這卻是當今漢字數位化所存在的事實困局!
二、沈重的一字一碼
雖然現在這種人為的一字一碼並不是完全地不可行,問題就在必須每隔一段時間以人工審議的方式追加新字碼,而在字碼尚未公佈前,中文數位資料 的轉換、交換、搜尋比對都是不可能的,更別說是無法輸入和無法印出這樣的基本動作了。以佛教經典來舉例,佛教典籍有龐大數量古字未被編碼,早期佛教界做了 許多典籍的輸入,雖然耗費龐大的人力物力來造字,至今卻仍是難以流通,但今天要全面的更新既有的系統又談何容易!
既使在新標準公佈之後,由於許多已存在多年的系統無法隨著更新,要能全面地交換、搜尋和比對,仍然是一條漫漫長路,更別提 UNICODE 到 2006 年已經公佈的七萬多個漢字,表面上好像是解決了缺字的問題,但卻也是一個龐大的系統負擔(2006 年 Windows XP 大部分的字型也只放了兩萬字)。因此,這些漢字只是「存在」但並非常用,這不僅是小型資訊設備無法承受記憶體的消耗(相較於英文文字系統是非常的龐大), 就連我們在輸入時,也無法忍受輸入時每次從上百個字中挑選你要的字。
由於 BIG5、GBK、UNICODE 等幾個主要中文碼一樣都是這種一字一碼的架構,所以皆面臨相同的困境。
因此,我要說「人為指定的一字一碼是漢字數位化進程中的歷史錯誤!」。
關於作者:
陳昌江,網名阿江,部落格;畢業於台灣科技大學電機系,曾任易符智慧科技董事長(易符科技從事 CPU及嵌入系統的開發其中也包括中文字形及其相關的中文造字系統),現為「剎那搜尋工坊」籌備處負責人,主要從事中文資料庫之搜尋及中文缺字之處理。
本文章參考易符智慧科技所發表「中文資訊的表達與易符無限字庫」,針對當今中文數位化之困局加以剖析闡述,文中許多觀念源於中央研究院謝清俊教授之啟發及葉健欣先生之導入,特此銘謝。全文依據創用CC「姓名標示 2.5 台灣」授權條款出版,授權條款之詳細內容,請參考此處。
相關網址: