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