在某個地方看到說「圖書館用的 CCCII 很老舊,有些使用 Big5 算比較好,都沒有用 UTF-8 的。」
個人覺得這說法有點問題,其實圖書館最適合的應該就是現行的 CCCII 碼,簡單來講... 「千」這個字在正體中文、簡體中文、日文都有,看起來一樣但唸法與意義就稍有歧異,但在 Unicode 中他們的字碼都是一樣的。
另一個常見的例子好像是「草」,這個字在三種語言中的標準寫法好像是有些微差距,但是在 Unicode 中卻也是對應到同一個字碼,這就不只是意義上的問題,嚴格來說在顯示上也有毛病。在 wikipedia 上的 Han unification 條目有比較詳細的描述,如果機器上的字形夠道地的話,裡頭有個表格應該要能看得出來,不過大部分字形不會太道地就是了,世界是平的嘛!
Big5 就不用說了,字碼裡面含有 ASCII 控制碼,造就了為人詬病的「許功蓋」問題,也不能涵蓋其他語言的字,限制會比較多。
CCCII 則一開始就是為了圖資而設計的,不同的語言有獨立的字碼空間,從字碼就可以看出那個字是屬於哪個語言。當然,要儲存比較多的資訊,字碼長度就比較長。
出現時間... CCCII 在 1980 年由國字整理小組設計出來,然後 Big5 在 1984 年由資策會公佈,至於 Unicode 則是在 1991 發表第一版。
在互轉上,由 CCCII 轉出到 Big5 或是 Unicode 沒有問題,不過倒過來 Unicode 要到 CCCII 就可能會出現一碼對到多碼不知道要對到哪個的問題。至於 Big5 到 CCCII 則是必然的沒問題,因為 CCCII 的字集空間比 Big5 大多了。
CCCII 有一段血淚史啊!當年有兩本書討論這事情,國字整理小組十年以及中文字碼: 萬碼奔騰,一碼當先,現在這些書都不好找了,好像有一本還曾被列為禁書。第一本有人把他掃描上線,另外在這裡有一些歷史的整理。
註: 文中有時用 Unicode 來指涉 UTF-8 或 UTF-16 等編碼規格,前者定義字碼,後者定義表現規格。這兩者的關連可以這樣想,看「筆」這個字,可以用簽字筆寫,也可以用毛筆寫。指涉 Unicode 時的概念比較像就是說「筆」這個字,至於指涉 UTF-8 或 UTF-16 就像是用某種筆實際寫出來。
No comments:
Post a Comment