你今天用手機傳訊息、開網頁,中文字能正常顯示,背後都要先把文字轉成電腦看得懂的編碼。Big5 是台灣在 1984 年由資訊工業策進會(資策會)策劃制定、後來成為中文電腦業界事實標準的雙位元組編碼;不同編碼或不同 Big5 版本對不上時,字就可能變成亂碼。國發會全字庫中研院《認識中文字元碼》如果你也想知道每天敲的鍵盤為什麼長成現在這樣,可以接著讀鍵盤排列與台灣鍵盤供應鏈的查證。

雙手在筆記型電腦上打字,呈現日常輸入文字的場景
每一次在手機或電腦上輸入中文字,都會經過字元與編碼的轉換。

定級:台灣制定的中文內碼

定級:台灣發明

定級依據:國發會全字庫明載,BIG-5 由資策會於 1984 年策劃制定,原本是為配合五大中文套裝軟體;同一份資料也把 CNS 11643 列為國家標準,並將 Big5-2003 列為 2003 年整理的版本。國發會全字庫中研院《認識中文字元碼》記載,五大軟體專案由經濟部出資、資策會與 13 家廠商合作,Big5 後來成為中文電腦的業界事實標準。中研院《認識中文字元碼》

老式打字機放在木桌上,象徵電腦文字編碼出現前後的輸入歷史
電腦裡的字不是直接「放進去」,要先建立能讓系統互相查找的編碼表。

它是怎麼運作的:兩個位元組查一個字

Big5 可以想成一本有固定索引的字典。英文 ASCII 字元可以用一個位元組處理;遇到中文時,系統先讀第一個位元組,把它當成前導,再和第二個位元組組成查表位置,找到對應的字元。WHATWG 的 Big5 解碼規則明列,第一個位元組落在 0x81 到 0xFE 時會暫存,接著依第二個位元組計算索引;兩個位元組的配對不完整或查不到索引,就會回報錯誤。WHATWG Encoding Standard

亂碼通常發生在「送出端和接收端拿了不同的字典」。資料原本用 Big5 編碼,接收端卻用另一套編碼表解讀,位元組仍然存在,對應的字卻變了;若同一套 Big5 裡混入不同廠商加進去的字,也可能出現某台電腦看得到、另一台電腦看不到的情況。這段對不同編碼的說明,是依 Big5 的解碼規則與中研院對各版本 Big5 相容問題的記載整理而成。WHATWG Encoding Standard中研院《認識中文字元碼》

家用 Wi-Fi 路由器放在室內地板上,呈現文字資料經網路傳送的場景
網路只負責搬運資料,文字能否正確顯示,還要看兩端是否使用相同的編碼規則。

誰做的、什麼年代:從五大軟體到 Big5-2003

這段歷史要從 1983 年說起。中研院資料記載,原始 Big5 的中文字取自 1983 年公布的舊版通用漢字標準交換碼,常用字 5,401 個、次常用字 7,652 個;它並非憑空另造一套漢字字形。中研院《認識中文字元碼》

1984 年,經濟部提供經費,資策會和國內 13 家廠商合作推動「五大軟體專案」,目標是做出五種中文套裝軟體,資策會同年策劃出配合這項專案的中文內碼。國發會全字庫中研院《認識中文字元碼》所以「Big-5」裡的五大,指的是五種軟體,13 家廠商是專案參與者,兩者不能混成五家公司。

它能撐住近二十年,和相容性需求有關。原始 Big5 收錄 13,053 個中文字,其中「兀」和「嗀」各有重複編碼,去掉重複後是 13,051 個字;中研院也記載,Big5 沒有專責維護機構,倚天、宏碁、IBM、微軟等廠商各自加字,政府機關自造字在公文交換時就可能無法轉換。中研院《認識中文字元碼》

台灣同時建立另一條標準路線。CNS 11643 在 1986 年公告為國家標準,第一、第二字面和 Big5 的字集相同;2003 年,經濟部標準檢驗局委託中文數位化技術推廣基金會整理原始版與主要業界版本,形成 Big5-2003,並以附錄身分掛在 CNS 11643 相關標準資料中。國發會全字庫中研院《認識中文字元碼》這個時間順序很重要:1984 年的 Big5 是業界事實標準,CNS 11643 才是國家標準,Big5-2003 也不能倒推成 Big5 從一開始就是國家標準。

常見誤傳有三種。第一,把「五大」說成五家公司;第二,把 Big5 直接稱為台灣國家標準;第三,把 Unicode 出現後的轉換過程說成某一年突然停用 Big5。本次查到的公開資料無法追溯這些說法最早由哪一篇文章或哪個人傳開,因此不替它們指定單一來源;可以確認的校正依據,是全字庫對 CNS 11643 的定義、中研院對業界標準的描述,以及 Unicode 與 WHATWG 的公開紀錄。國發會全字庫中研院《認識中文字元碼》Unicode ConsortiumWHATWG Encoding Standard

印刷電路板上的晶片與電子元件特寫,象徵早期中文電腦的硬體環境
早期中文電腦要同時處理字集、軟體與硬體相容,編碼表因此成了系統之間的共同約定。

它今天長什麼樣:還活著,但已退到相容層

Unicode 1.0 的正式版本日期是 1991 年 10 月,之後新的作業系統、瀏覽器與網頁逐步朝 Unicode 與 UTF-8 移動。Big5 沒有在某一年被整批關掉,WHATWG 現行 Encoding Standard 仍把它列在「傳統中文 legacy 多位元組編碼」類別,並保留 Big5 的編碼與解碼規則。Unicode ConsortiumWHATWG Encoding Standard

網路上的使用量已經很小。W3Techs 的每日更新頁面顯示,Big5 目前用在不到 0.1% 的已知字元編碼網站;同一頁仍列出少數使用 Big5 的網站,表示它的角色從主流新內容的預設,退到舊系統與相容性需求。W3Techs Big5 使用率

這也解釋了「中文字為什麼曾經變亂碼」:早期各套 Big5 版本彼此沒有完全對齊,後來又遇到 Unicode/UTF-8 的轉換,程式只要拿錯編碼表,畫面就可能出現方框、問號或看似無意義的字。下次你在手機瀏覽舊網站時看到亂碼,通常是資料和解碼規則沒有配成同一組;想延伸理解網路服務如何確認使用者身分,可讀自然人憑證與 PKI 的白話原理。

手機放在桌面上顯示網頁介面,呈現現代手機瀏覽網路內容的場景
今天的手機多半把編碼轉換藏在瀏覽器與作業系統裡,讀者只在相容性出問題時看見它。

常見問題

Big5 是台灣國家標準嗎?
Big5 在 1984 年由資策會策劃制定,後來成為中文電腦的業界事實標準。CNS 11643 在 1986 年公告為國家標準,2003 年整理出的 Big5-2003 也不改變這個區分。

Big5 為什麼會造成亂碼?
Big5 依 兩個位元組查找中文字,接收端若使用不同編碼規則,這組位元組就可能對到錯誤字元。不同廠商自行擴充 Big5 字集,也會造成同一段資料在不同系統上顯示不一致。

Big5 什麼時候被停用?
沒有一個可由查證資料支持的單一停用年份。Unicode 1.0 在 1991 年發布,Big5 隨後逐步退到相容用途;WHATWG 現行規範仍保留 Big5 編碼與解碼規則。

本文定級依據文中所附公開資料,若有新的第一手證據,歡迎來信更正。