大五碼

大五碼社群最常用的電腦漢字字符集標準，共收錄13060個漢字。中文碼分為內碼及交換碼兩類，大五碼屬中文內碼，知名的中文交換碼有CCCII、CNS11643。大五碼雖普及於臺灣、香港、澳門等繁體中文區域，但長期以來並非當地的國家／地區標準或官方標準，而只是業界標準。倚天中文系統、Windows繁體中文版等主要作業系統的字符集都是以大五碼為基準，但廠商又各自增加不同的造字與造字區，衍生成多種版本。2003年，大五碼收錄到CNS11643中文標準交換碼的附錄當中，取得正式地位。這最新版稱為Big5-2003。歷史及名稱.「大五碼」是由臺灣財團法人資訊工業策進會為五大中文套裝軟體設計的中文共通內碼，在1983年12月完成公告，隔年3月，資訊工業策進會與臺灣13家廠商簽定「16位元個人電腦套裝軟體合作開發」，因為此中文內碼是為臺灣自行製作開發之「五大中文套裝軟體」所設計的，所以就稱為Big5中文內碼。五大中文套裝軟體雖然並沒有如預期的取代國外的套裝軟體，但隨著採用大五碼的國喬中文系統及倚天中文系統先後在臺灣市場獲得成功，使得大五碼深遠影響正體中文電腦內碼，直至今日。「五大碼」的英文名「--」後來被人按英文字序譯回中文，以致現在有「五大碼」和「大五碼」兩中文名。大五碼誕生，是因為當時個人電腦沒有共通的內碼，導致廠商推出的中文應用軟體無法推廣，並且與IBM 5550、王安碼等內碼，彼此不能相容；另一方面，臺灣當時尚未推出中文編碼標準。在這樣的時空背景下，為了使臺灣早日進入資訊時代，共用改用新的中文編碼就成為各廠商所採行的計畫；同時，這個計畫對於以臺灣為核心的亞洲繁體漢字圈也產生了久遠的影響。大五碼誕生前，研發中文電腦的朱邦復認為內碼字集應該廣納所有正異體字以顧及戶政等實用需求，故在當時的內碼會議中，建議希望採用他五萬多字的字型檔。工程師認為雖其技術可行，但是三位元組長度的內碼卻會造成英文螢幕畫面對映成中文畫面會發生文字無法對齊的問題，因為當時盛行之倚天中文系統畫面以兩位元組文字寬度對映成一個中文字圖樣，英文軟體中只要以兩個英文字寬度去顯示一個中文字，畫面就不會亂掉，造成中文系統業者偏愛二個位元組長度的內碼；此外以倉頡輸入碼壓縮成的內碼沒有排序等功能，因此未獲採用。1983年有人誣指朱邦復為共產黨，其研究成果更不可能獲採用。在大五碼誕生後，大部分臺灣的電腦軟體都使用了大五碼，加上後來倚天中文系統的高度普及，使後來的微軟Windows 3.x等亦予以採用。雖然後來臺灣還有各種想要取代大五碼，像是倚天中文系統所推行的倚天碼、臺北市電腦公會所推動的公會碼等，但是Big5字碼已沿用多年，在習慣不易改變的情況下，始終無法成為主流字碼。而臺灣後來發展的中文資訊交換碼非一般內碼系統，是以交換使用為目的，受先天所限，必須使用至少三位元組來表示一漢字，普及率遠遠不及大五碼。在1990年代初期，當中國大陸的電郵和轉碼軟體還未普遍之時，在深圳的港商和臺商公司亦曾經使用Big5系統，以方便與總部交流檔案、以及避免為中國的辦公室再寫一套不同內碼的系統。使用簡體中文的社群，最常用的是中國的國標碼和GBK。除了臺灣外，其他使用繁體漢字的地區，如香港，及使用繁體漢字的海外華人，都曾普遍使用大五碼做為中文內碼及交換碼。位元組結構.大五碼是雙位元組字符集，以十六進製表示，使用雙八碼儲存方法，以兩位元組安放一字。第一位元組稱為「高位位元組」，第二位元組稱為「低位位元組」。「高位位元組」使用了0x81至0xFE，「低位位元組」使用了0x40至0x7E，及0xA1至0xFE。在大五碼的分割槽中：值得留意的是，Big5重複收錄了兩個相同的字：「兀」。此外，部分編碼對映把符號區的蘇州碼子「〸」、「〹」、「〺」對映至漢字，在檢索系統中常會造成查詢不到字。衝碼問題.低位元字元中包含了程式語言、shell、script中，字串或命令常會用到的0x5C“\”、0x7C“|”等特殊字元。「\」在許多用途的字串中是當作轉義符號，例如\n等等。而「|」在UNIX作業系統中大多當作命令管線的使用，如"ls -la | more"等等。如果在字串中有這些特殊的轉義字元，會被電腦程式或直譯器解釋為特殊用途。但是因為是中文的原因，故無法正確解釋為上面所述的行為，因此程式可能會忽略此轉義符號或是誤當作轉義符號而中斷執行。若此，就違反了使用者本來要當成中文字元一部份使用的本意。低位元字元與ASCII重疊的字元為0x40到0x7E，如下︰@ A-Z [ \ ] ^ _ ` a-z { | } ~在常用字如「-{功}-」。一般的解決方法，是額外增加“\”的字元，因為“\\”會被解釋為“\”，所以“成功\因素”這字串就能無誤地被程式當作“成功因素”的字串來處理。但是額外的困擾是，有些輸出功能並不會把“\”當作特殊字元看待，所以有些程式或網頁就會常常在「許功蓋」這些字後面錯誤地多顯示了“\”。低位元組為「\」的字元：-{﹏ 兝 α 麼 功 吒 吭 沔 坼 歿 俞 枯 苒 娉 珮 豹 崤 淚 許 廄 琵 跚 愧 稞 鈾 暝 蓋 墦 穀 閱 璞 餐 縷 擺 黠 孀 髏 躡 ふ ж 尐 佢 汻 岤 狖 垥 柦 胐 娖 塗 罡 偅 惝 牾 莍 傜 揊 焮 茻 鄃 幋 滜 綅 赨 塿 槙 箤 踴 嫹 潿 蔌 醆 嬞 獦 螏 餤 燡 螰 駹 礒 鎪 瀙 酀 瀵 騱 酅 贕 鱋 鱭}-低位元組為「|」的字元：-{﹄ └ ㄍ 弋 四 帆 坑 育 尚 泜 咽 洱 迢 徑 砝 院 悴 琍 逖 揉 稅 閏 會 腮 頌 漏 誡 慝 罵 魯 糕 嚐 舉 甕 牘 辮 疊 鸛 ア 𠂊 戉 吜 芎 怙 矹 峗 洀 苶 恝 烡 茦 唰 掤 痎 虖 圌 斮 琰 萆 隇 搉 煟 腶 輋 嫟 漒 翣 銔 憰 獡 蔙 鋧 懁 瞣 褟 鮐 瞲 觲 鴱 聵 鞫 矱 霬 礨 鶘 驂 驏 鼶 鸓}-當把有中文字元檔名的檔案上傳到ftp時，當中包含低位元組為0x5C，例如檔名「-{教育部第四次會議紀錄}-」會變成「-{教灶部第北次愷議紀錄}-」。與畫線字元相衝.大五碼字元的首位元組會與DOS內碼表437的畫線字元相衝而產生亂碼。例如│維基百科│當中的中文字如以大五碼儲存，顯示時會變成：竟�穧坌鮈�也有替代方法就是用全形劃線符號，但較佔空間。倚天公司另外推出倚天碼解決此問題，但不流行。私人造字區.在倚天中文系統，以及後來的Windows 3.1、95及98中，定義四個私人造字區範圍：0xFA40-0xFEFE、0x8E40-0xA0FE、0x8140-0x8DFE、0xC6A1-0xC8FE。私人造字區的原意，是供使用者加入本來在編碼表中缺少的字元，但當每個使用者都在不同的地方加上不同的字元後，當交換資料時，對方便難以知道某一個編碼究竟想表達什麼字。影響.自中文電腦流行後，很多日常用字被視為異體字而未收錄。很多人，甚至電視臺的字幕、報紙的用字習慣都被改變。例如中華民國教育部視「-{著}-」為「-{著}-」的異體字，故沒有收錄「-{著}-」字。不過「-{著}-」字在香港教育標準裡是正字，與「-{著}-」字分工。又例如臺灣選擇了「-{裡、峰、床、群、衛}-」作為正字，不過香港教育標準的正字則選用「-{裡、峰、床、群、衞}-」，Big5碼的收字問題令香港老師大傷腦筋。粵語地區使用粵文，可是很多官話中文不使用的粵文漢字，Big5碼都沒有收錄，例如「-{嘅、喺、咗、嗰、啲、嚇、㖭、㗎、啱、㓤、両、乸、冚、冧、唞、唓、嘞、噏、嚟、嚿、噃、孭、掹、揸、揞、揼、聱、搲、摱、攞、攰、梘、燶、瞓、粽、餈、螆、裇、踎、踭、軚、餸、𡃁、𨋢}-」等字。港澳地區有不少地名，也都需要使用Big5碼沒收錄的字，比如「-{邨}-」等等，只用Big5碼，無法打出這些字。臺灣也有閩南語字、客語字等等地方用字面對相同情況，例如「-{廍}-」，臺語指製糖所，常見於鄉間地名，但Big5碼未收此字。另一個例子是「-{鱻}-」字，在海鮮餐廳偶爾會看到，但是Big5碼也沒有收此字，另外還有塵蟎的「-{蟎}-」字，因為現代人體質易過敏、環境常有過敏源，此字很常用。還有，康熙字典中的一些部首用字，這些字雖然受中文社會廣泛採用，也沒有收錄到Big5碼中。另外許多日本人姓名中有的字，也沒有收錄在Big5碼之中，如「-{瑠}-」等字，都是如此。另外，許多俗字如-{「雙」、「廈」、「厰」、「厠」、「麼」}-也沒有收錄在Big5碼中，但是香港仍然普遍使用俗字，很多字的正寫甚至連很多成年人也不知道。Big5碼的缺字之中，也有不少科學用字，例如化學元素名稱也沒有收錄齊全，包括「-{鉕}-」、「-{砈}-」、「-{鍅}-」、「-{鉳}-」、「-{鍩}-」，以及-{𨧀}-之後的元素都沒有收錄，以及有機化學用字如「-{萘}-」、「-{蒽}-」、「-{腈}-」、「-{肼}-」等，也都沒有收錄。碰到Big5碼沒收錄的字，許多人會以其他字代替。以「坂」字為例，人們經常以「阪」字代替在製作相關的歷史題材遊戲的中文版本時，本應使用古名的「坂」但仍以「阪」字代替，以致現時仍然有不少中文使用者誤植為「大阪之陣」，還有像「廍」字，也常被「廓」、「部」代替。其他未收錄的地名用字，如「磘」，也被「瑤」、「嗂」代替，另外「-{滙}-豐銀行」與「-{恆}-生銀行」雖然分別以「-{滙}-」字與「-{恆}-」字來註冊，不過人們也常常分別以「-{匯}-」字與「-{恆}-」字代替。另一種做法係依賴拆字法。在網際網路上，經常能見到把遊錫堃、王建煊、張-{栢}-芝、陶喆等名字，寫成為「遊錫方方土」、「王建火宣」、「張木百芝」和「陶吉吉」等。電視上日本動畫的中文字幕中也會看到像「-{木堅}-」。Big5延伸.大五碼的一萬多字只是根據中華民國教育部頒布的《常用國字標準字型表》、《次常用國字標準字型表》等用字匯編而成，並沒有考慮社會上流通的人名、地名用字、方言用字、化學及生物科學等用字，亦沒有放入日語平假名及片假名字母；市面上支援大五碼的軟體有不少都自行在原本編碼外新增一些符號及用字。非官方Big5延伸.倚天Big5延伸.倚天中文系統為與IBM5550碼相容，在大五碼添加了以下字元，稱為倚天擴充字集：這個延伸有時稱為Big5-Eten。由於倚天中文系統是Windows 95推出之前市場佔有率最高的中文系統，此延伸是各種非官方延伸當中最重要的一個。不少後續的延伸字集，都會留空倚天Big5延伸已使用的碼位，甚至直接吸納倚天Big5延伸的字元。添加了7個倚天擴充字後，理論上，常用率非常高的「裡」字，以及「恒生」、「宏碁」等品牌，可以直接使用這些寫法，不必改為原裝Big5碼中的「裡」、「恆」、「棋」等字。不過因為輸入習慣、輸入法問題或避免交換檔案到其他系統時亂碼，不少人依然習慣以「裡」、「恆」、「棋」等字代替「裡」、「恆」、「碁」等字。在後期版本的倚天中文系統中，更加入了一些圖案和簡體中文字，但未被廣泛接受。Code Page 950.Windows使用的Code Page 950之中，只添加了上述0xF9D6-0xF9FE的倚天擴充字及表格符號，並沒有加入日文假名字母等其他延伸。在Windows ME之中，微軟首度在0xA3E1加入了歐元符號，之後所有Windows版本的Code Page 950也都有這個符號。中國海字集.「中國海字集」是中國海公司所出品的繁體漢字造字檔。它本身雖然是一套商品，但中國海公司很少將之單獨販售，往往是與其他軟體一同銷售。例如：中國海字集就曾經與《漢書》、《輕鬆輸入法》等一同發售。由於它包括了不少社會上常見的用字、日文假名、和字等，加上曾與Office 97中文版一併發售，所以比起其他官方Big5延伸，更被臺灣民眾所接受。香港部份BBS網路在香港增補字符集未出現之前，一度以中國海字集為標準。日和字集.「日和字集」乃香港人內木一郎和阿烈開發的TrueType造字檔，以相容香港增補字符集為賣點，增補字集中仍沒涵蓋的日語假名、日本漢字和日本國字，有細明體、標楷體、中黑體等配合Windows 95、98、NT等作業系統字型的字款，並附有倉頡、速成等輸入法作輔助，以及把字集文件轉換至日語編碼的轉碼器工具。Unicode補完計畫.「Unicode補完計畫」前稱「BIG5 Extension」，透過修改Microsoft Windows及Mozilla的編碼表，從而使用者能在網上傳遞及交換文字。有鑑於「中國海字集」的成功，「Unicode補完計畫」第二版採用了「中國海字集」原有的造字，再加上「中國海字集」所欠的部分簡體中文字及香港粵語用字，建成一個能在Big5及Unicode之間轉換的編碼表；該計劃目前已推出了64位元測試版。官方Big5延伸.中華民國教育部造字檔.中華民國教育部有它本身一套造字檔，主要給部門內使用，亦用於教育部的網路字典。中華民國行政院農委會常用中文外字集.中華民國行政院農業委員會曾制訂一套有133漢字的造字檔，其中有84字是魚部漢字、7字是鳥部漢字。Big5+.1997年中華民國行政院研究發展考核委員會成立專案委託中文數位化技術推廣基金會，無法安裝在Microsoft Windows上，現幾乎無人使用。Big-5E.為了使Microsoft Windows使用者可以使用造字檔，中華民國行政院研考會再度委託中推會推出一個補充字集Big-5E，共收3954字。因為Big5+的編碼限制，再加上Unicode已漸成氣候，除了部分政府單位使用之外，Big-5E並沒有被廣泛的接受。Mac OS X 10.4及以上支援Big-5E。Big5-2003.鑑於Big5不是官方標準，中推會接受經濟部標準檢驗局委託，召集臺灣國內業者、專家和學者編製一個Big5的對照表，並把它放到臺灣官方的CNS 11643附錄裡，正式成為官方標準的一部分。在Big5-2003之中，收錄了所有在1984年大五編碼的所有字元，另外再加入微軟內碼表950的歐元符號、倚天延伸字集的0xA3C0-0xA3E0、0xC6A1-0xC7F2、0xF9D6-0xF9FE的用字。Big5-2003沒有收錄行列輸入法特殊符號及0xC7F3-0xC875的俄語西里爾字母，理由是以CNS 11643沒有這些字元。除此之外，所有倚天延伸全部收錄。另外，它試圖減少Unicode東亞文字字寬有問題的「模糊」部份，它改變了某些符號的Unicode對應，導致內碼表950並不完全是Big5-2003的子集合；另外，0xC6C0-0xC6D7對應到Unicode的康熙字典部首區而非漢字區。相對於Big5-2003，最早沒有加上延伸之Big5則稱為Big5-1984。香港增補字符集.香港增補字符集是香港政府基於大五碼之上擴充套件的字符集標準，是現時香港的中文資訊交換內碼標準。香港增補字符集以前稱為《政府通用字型檔》，本來只是香港政府內部統一使用的造字檔，有三千多字。但由於香港電腦業界不斷要求政府迎合本地需要，提出官方的字符集方案，以便與政府來往檔案，於是香港政府便在1995年把這套內部使用的標準公開。到了1999年，此字集增加到四千多字，並改為現名。此字符集由中文介面諮詢委員會管理，仍在不斷擴編之中。字符集主要包括香港地名、人名用漢字、粵語用字、異體字、小部份簡體字、平假名、片假名及俄語西里爾字母。發展.各廠商及政府推出的大五延伸互不相容，造成亂碼問題。鑑於Unicode能正確處理七萬多漢字，近年的作業系統和應用程式，未能支援Unicode編碼。