Mozilla 系列與 Big5 中文字碼
Big5 主要版本及字碼表
下面列出目前主要常見的 Big5 版本,及 MozTW 所收集的字碼表。
字碼表一律以 Big5 與 Unicode 的對應關係表示,每行的格式一律是
[Big5 Unicode] ,每種版本各有一份
Big5 » Unicode (b2u) 與
Unicode » Big5 (u2b) 的表格。
b2u 的表格照 Big5 碼的順序排序,u2b 的表格則照 Unicode 的順序排列。
如果這裡沒有你想找的,還可以再參考
這裡 (感謝 rafan/ericyu 提供此鏈結)。 注意該網站及下面部份 Big5
只有 Unicode Mapping Table (下面寫「參考對照表」的),並沒有分 b2u 跟 u2b 的資料,
若要實際使用時 u2b 通常要再手動調整。
- CP950
- Microsoft Windows 使用的表格。 除了某些字(如日文假名)
沒有正確的 Unicode 對映(mapping)外,還算是個滿正確的表。
若想避免程式產生別人可能會看不到的內容,請使用 CP950
的 u2b 表格。
字碼表:
CP950 b2u
CP950 u2b
(來源:
Unicode.org)
- Big5-2003
-
台灣政府單位正式制定的最新 Big5 標準,目前以
CNS11643的
附錄形式發行。
由於 Big5-2003 試圖減少 Unicode 字寬有問題的 Ambigious CJK 部份,
它把某些符號的 b2u 做了改變,導致 CP950 並不完全是 Big5-2003 的子集合
(或說 Big5-2003 不是 CP950 的 superset)。 某些字 (共 14 個符號)
字型 "看起來" 一樣,但在 Unicode 的位置不一樣。 另外 Big5-2003 把部首區的字
對應到 Unicode 的康熙字典部首區,但遺憾的是目前大多數字型都沒有準備這區。
字碼表:
Big5-2003 b2u
Big5-2003 u2b
(此為 2004/08/12 修訂版, 感謝
kcwu
提供)
- Unicode-at-on (UAO)
-
「Unicode 補完計畫」,
舊名「BIG5 Extension」,由 cpatch
主導,最早是為了解決所謂 CP950 沒有正確對應日文假名的問題,
並加入了中國海字集(DOS 時代最流行的外字集)的部份,
2.0 後又自訂編碼在 Big5 的造字區加入了大量日文漢字及簡体字。
不相容 Big5-HKSCS。
字碼表:
UAO 2.41 b2u
UAO 2.41 u2b
UAO 2.50 b2u
UAO 2.50 u2b
(感謝 UAO / witchfive 提供 / UAO 安裝程式中取出)
- Mozilla 1.8
-
為了解決 Big5 眾多版本的問題、獲得最大的可用性,
Mozilla 台灣社群於 2005 年與 UAO 合作,重新整理的版本。
主體是以 Big5-2003 為主,
但在造字與保留區則引入 UAO 的字集。
另外為了避免其它 Big5 使用者看不到, Unicode 轉 Big5 的部份
則是以 CP950 為主,加進 Big5-2003 與 UAO 內增加的異體字對映,
但不增加 CP950 原本會指到造字區區域的字集對映。
(註: 由於 UAO 同時也在為與 Big5-2003 相容而修訂,
最後此修訂版的 mozilla1.8 b2u 與 UAO 2.41 的 b2u 一致。
另外由於這樣的字碼表與其它有使用到造字區的外字集不相容 [如 HKSCS],
所以下面另外提供 b2u-strict 是不使用 UAO 的標準 Big5-2003。
如果您的系統有另行支援 HKSCS, 可使用標準 b2u; 若您的系統無法分開處理
Big5-hkscs 與 Big5, 則請用 b2u-strict)
此字碼表已於 2006 年 6 月 29 進入 Mozilla Respitory,Firefox 在 2
之後的版本皆使用此「非雙向」字碼表轉碼,以求最大相容性
(bug 310299)。
字碼表:
Mozilla 1.8 b2u
Mozilla 1.8 u2b
* b2u-strict(不使用UAO字集)
(Mozilla 台灣社群製作)
- Big5-HKSCS
-
香港增補字符集 (Hong Kong Supplementary Character Set),
香港地區政府單位正式制定的專用字集。 雖說不相容 UAO,
但注意在香港地區也是有人直接用 UAO 而不用 HKSCS 的。
目前為止有 1999、2001、2004 三版。 許多字碼在三次版本中逐次移動,
從造字區(PUA; Private User Area)移向 Unihan、最後移向 ext A/ext B (U+2XXXX 的都是)。
使用上請務必小心。
Mozilla 應用程式因為 bug 162431,
無法完全遵守 2004 版將外字完全移至 extA/ext B 區,故截至目前(2009年初)使用的字碼表依然是
bug 343129 所折衷設計的 2001/2004 混合字碼表,
即將部份 HKSCS 外字集對應到 ext A,對應到 ext B 的部份則留在舊版所定義造字區碼位。
字碼表(舊版,新版請參考 bug 343129):
Big5HKSCS-2001 b2u
Big5HKSCS-2001 u2b
(來源: Mozilla source, last update by Anthony Fok)
參考對照表:
Big5HKSCS-1999
Big5HKSCS-2001
Big5HKSCS-2004
- WHATWG Encoding Standard
-
Encoding Standard 是以 WHATWG 為名義發表的,針對 Web 設計的編碼標準。它試圖以 UTF-8 轉換目標,統一瀏覽器處理舊式編碼的對照表。
2013 年,標準規格書編輯與社群成員首次提出了統一 Web 使用 Big5 編碼的問題。
經過冗長的討論之後,我們發現 Web 上並沒有大量使用 Big5-UAO 字集的例子(目前的 Big5 環境例如 PTT,其網頁版也都轉為 UTF-8 呈現),因此 Encoding Standard 最後使用的 Big5 表格為盡量與 Big5-hkscs 相容(因為其在 Web 上依然有顯著使用的編碼),且特別避免一些 PUA 等對照的對稱表格。
此字碼表在 2015 年 9 月 11 日進入 Firefox 43,成為目前使用的 Big5 編碼 (Bug 912470)。
字碼表:index-big5.txt
編碼規則
相關討論:[whatwg #1]
[whatwg #2]
[whatwg #3]
[moztw-general]
其它舊 Big5 字碼表
下面的 Big5 版本比較
不建議使用。
- Big5-1984
-
最早 (1984) 的 Big5 版本,由台灣資策會所制定。 遺憾的是它並不是 CP950
的子集合,因為 CP950 沒有 Big5-1984 定義的控制區 A3C0-A3E0。
字碼表:
Big5-1984 b2u
Big5-1984 u2b
(來源: Big5-2003 整理資料)
參考對照表:
Big5-1984
- IBM(5550)
-
IBM 舊型機器(IBM-5550與同時代機種為主)所使用的版本。 現僅供參考,不建議使用。
字碼表:
IBM b2u
IBM u2b
(來源: Big5-2003 整理資料)
- Big5-ETEN (倚天)
-
DOS 時代最重要的倚天中文(ETEN)所使用的版本,可惜與 CP950
略有不同(主要有日文假名區等)。
參考對照表:
ETEN
- Mozilla 1.5
-
這是 Mozilla 1.5 (2003/07) 起使用的表格,主要是在
Bug#9686
根據 OpenI18N-Big5 subgroup 的 TW-Big5 所做的對照表。基本上可視為
CP950 加上日文假名與部份數字及符號。 但由於是雙向的對照表,會造成與 CP950 系統
不相容的問題。 預計於 2005/09 的 Mozilla 1.8 中修正為新版。
字碼表:
Mozilla 1.5 b2u
Mozilla 1.5 u2b
(來源: Mozilla Source)
- Big5-GCCS
- 香港政府通用中文字庫(Government Chinese Character Set),
可說是 HKSCS 的前身。 1995 年公佈,收了 3049 個字,
可惜 1999 年的 HKSCS-1999 並非完全相容於 GCCS ,只保留了 2943 個。
參考對照表:
Big5-GCCS Mapping Table
- Unicode 1.1
- 這是一份非常糟糕的字碼表,其中有不少錯誤,
它有所謂的日文假名,但也是錯的。
雖說 Unicode.org 宣稱這些表格已過時(OBSOLETE)了,
不幸的是國外有不少軟體因為不知道上哪找 Big5 標準,
所以仍直接使用這個表格。
所以如果你發現某個軟體怪怪的,請給它前面列的其它表格。
真的,前面隨便任何一個其它的表都比這個好。
參考對照表(僅供參考,千萬別用這個!):
Unicode 1.1 Big5 Mapping (OBSOLETE, uncode.org)
本地複本
- Big5+ (Big5 Plus)
- 如果有比 Unicode1.1 更糟糕的字碼表,那一定就是它了:
Big5+, 從被公佈到宣告死亡間從沒有系統實際支援過
(除了發行者中推會自己的一些程式)。
Big5+ 試圖從 Unicode 塞進跟 GBK 一樣多的字,但很不幸的它改變了原始
Big5 的範圍以塞進兩萬多個字(史上最大的 Big5 字集),以至於無人問津。
Big5+ 很快的就被修正版的 Big5-E 取代掉了。
參考對照表(僅供參考,千萬別用這個!):
Big5+ Mapping Table (OBSOLETE and NEVER USED)
- Big5E (Big5-Ext)
- 由於 Big5+ 明顯的失敗, Bi5E 拿掉了許多字碼以塞回傳統 Big5
的範圍內。 但同樣的,沒什麼系統支援它。
參考對照表:
Big5E Mapping Table