【840專論】談電腦缺字問題-2

文字在電腦中是以數位的方式儲存,透過協定來解釋資料所代表的文字。這些協定,我們稱之為內碼。台灣常用的BIG5編碼及國際常用的Unicode編碼皆屬之。 何謂缺字問題 由於各國或地區都會採取其慣用的編碼法,而各個編碼法內所含文字也各有差異,所以造成編碼系統的不協調。例如:「發」的編碼BIG5是B56F,Unicode則是767C,「堃」的編碼是Unicode:5803但在BIG5中則沒收錄。所以在現行內碼系統不協調的情況下,交換碼應運而生。 交換碼主要是用來處理某領域下的內碼不協調問題,是將各內碼中的文字對應到交換碼中,然後再進行內碼系統的轉換。CNS11643就是一個漢字領域的交換碼。例如我們要將某份含「發」的文件從BIG5編碼轉成Unicode編碼,我們就可以先查到BIG5:B56F在CNS11643中的編碼1-6075,然後再轉成Unicode:767C。不管是內碼或是交換碼,都有找不到文字(未收編)的時候,所以在內碼設計時皆會提供幾塊區域作為動態指定未收編字碼的區段。例如BIG5提供FA40 – FEFE、8E40 – A0FE、8140 – 8DFE、C6A1 – C8FE等區段,Unicode提供E000-F8FF區段。 對於某個內碼系統,我們稱那些未收編的文字為缺字,或詳述之為某內碼系統的缺字。而我們稱這些提供缺字使用的區段為擴充區,而稱擴充區內的字碼為缺字碼。例如在BIG5編碼中,「堃」並不存在,此時使用者可以指定擴充區的某一缺字碼給「堃」使用,例如BIG5:FA40。但是因為將「堃」指定為BIG5:FA40並不是一個廣泛性的約定,所以在不同的使用者可能會指定BIG5:FA5E給「堃」使用或是將BIG5:FA40指定給其他缺字使用,所以此時就發生了缺字不協調問題,簡稱為缺字問題。 缺字問題在本質上分成兩類,一是同碼不同字,另一個是同字不同碼。因而衍生出六類應用上的問題:瀏覽、輸入、傳播、查詢、描述及造字問題等。所以缺字問題主要發生在不同電腦之間,我們稱之為「跨系統」問題,有時缺字問題也會發生在同一台電腦系統中,我們稱之為「系統內」問題。不管是在跨系統或在系統內部,同碼不同字遠比同字不同碼要來得嚴重許多。

發表迴響