大五碼

歷史及名稱

「大五碼」（Big5）是由台灣財團法人資訊工業策進會為五大中文套裝軟體所設計的中文共通內碼，在1983年12月完成公告，隔年3月，資訊工業策進會與臺灣13家廠商簽定｢16位元個人電腦套裝軟體合作開發（BIG-5）計畫（五大中文套裝軟體）｣，因為此中文內碼是為臺灣自行製作開發之「五大中文套裝軟體」所設計的，所以就稱為Big5中文內碼。五大中文套裝軟體雖然並沒有如預期的取代國外的套裝軟體，但隨著採用Big5碼的國喬中文系統及倚天中文系統先後在台灣市場獲得成功，使得Big5碼深遠地影響正體中文電腦內碼，直至今日。「五大碼」的英文名稱「Big5」後來被人按英文字序譯回中文，以致現在有「五大碼」和「大五碼」兩個中文名稱。
Big5碼的產生，是因為當時個人電腦沒有共通的內碼，導致廠商推出的中文應用軟體無法推廣，並且與IBM 5550、王安碼等內碼，彼此不能相容；另一方面，台灣當時尚未推出中文編碼標準。在這樣的時空背景下，為了使台灣早日進入資訊時代，所採行的一個計畫；同時，這個計畫對於以台灣為核心的亞洲繁體漢字圈也產生了久遠的影響。
Big5產生前，研發中文電腦的朱邦復認為內碼字集應該廣納所有的正異體字，以顧及如戶政等應用上的需要，故在當時的內碼會議中，建議希望採用他的五萬多字的字庫。工程師認為雖其技術可行，但是三個位元組（超過兩個位元組）長度的內碼卻會造成英文螢幕畫面對映成中文畫面會發生文字無法對齊的問題，因為當時盛行之倚天中文系統畫面係以兩個位元組文字寬度對映成一個中文字圖樣，英文軟體中只要以兩個英文字寬度去顯示一個中文字，畫面就不會亂掉，造成中文系統業者偏愛二個位元組長度的內碼；此外以倉頡輸入碼壓縮成的內碼不具排序等功能，因此未被採用。1983年有人誣指朱邦復為共產黨，其研究成果更不可能獲採用。
在Big5碼誕生後，大部分台灣的電腦軟體都使用了Big5碼，加上後來倚天中文系統的高度普及，使後來的微軟Windows 3.x等亦予以採用。雖然後來台灣還有各種想要取代Big5碼，像是倚天中文系統所推行的倚天碼、台北市電腦公會所推動的公會碼等，但是由於Big5字碼已沿用多年，因此在習慣不易改變的情況下，始終無法成為主流字碼。而台灣後來發展的國家標準CNS 11643中文標準交換碼由於非一般的內碼系統，是以交換使用為目的，受先天所限，必須使用至少三個位元組來表示一個漢字，所以普及率遠遠不及Big5碼。
在1990年代初期，當中國大陸的電子郵件和轉碼軟體還未普遍之時，在深圳的港商和台商公司亦曾經使用Big5系統，以方便與總部的檔案交流、以及避免為中國的辦公室再寫一套不同內碼的系統。使用簡體中文的社群，最常用的是GB 2312、GBK及其後續的國標碼（GB 18030）。
除了台灣外，其他使用繁體漢字的地區，如香港（香港增補字符集）、澳門（澳門增補字符集），及使用繁體漢字的海外華人，都曾普遍使用Big5碼做為中文內碼及交換碼。

衝碼問題

因為低位元字元中包含了程式語言、shell、script中，字串或命令常會用到的特殊字元，例如0x5C「\」、0x7C「|」等。「\」在許多用途的字串中是當作轉義符號，例如\n（換行）、\r（歸位）、\t（tab）、\\（\本身符號）、\"（引號）等等。而「|」在UNIX作業系統中大多當作命令管線的使用，如"ls -la | more"等等。如果在字串中有這些特殊的轉義字元，會被程式或直譯器解釋為特殊用途。但是因為是中文的原因，故無法正確解釋為上面所述的行為，因此程式可能會忽略此轉義符號或是誤當作轉義符號而中斷執行。若此，就違反了使用者本來要當成中文字元一部份使用的本意。
低位元字元與ASCII重疊的字元如下︰
@ A-Z [ \ ] ^ _ ` a-z { | } ~ 
在常用字如「功」（0xA55C）、「許」（0xB35C）、「蓋」（0xBB5C）、「育」（0xA87C）中時常出現，造成了許多軟體無法正確處理以Big5編碼的字串或檔案。這個問題被戲謔性地人名化，稱為「許功蓋」或「許蓋功」（這三個字都有這種問題）。
一般的解決方法，是額外增加「\」的字元，因為「\\」會被解釋為「\」，所以「成功\因素」這個字串就能無誤地被程式當作「成功因素」的字串來處理。但是額外的困擾是，有些輸出功能並不會把「\」當作特殊字元看待，所以有些程式或網頁就會錯誤地常常出現在「許功蓋」這些字後面多了「\」。

與畫線字元相衝

Big5碼字元的首位元組會與DOS頁碼437的畫線字元相衝而產生亂碼。
例如
┌───────┐
│維基百科│
└───────┘
當中的中文字如以Big5碼儲存，顯示時會變成：
┌────────┐
竟�穧坌鮈�
└────────┘
也有替代方法就是用全形劃線符號，但較佔空間。倚天公司另外推出倚天碼解決此問題，但不流行。

私人造字區

在倚天中文系統，以及後來的Windows 3.1、95及98中，定義四個私人造字區範圍：0xFA40-0xFEFE、0x8E40-0xA0FE、0x8140-0x8DFE、0xC6A1-0xC8FE。
私人造字區的原意，是供使用者加入本來在編碼表中缺少的字元，但當每個使用者都在不同的地方加上不同的字元後，當交換資料時，對方便難以知道某一個編碼究竟想表達什麼字。

影響

自中文電腦流行後，由於很多日常用字被視為異體字而未收錄。很多人，甚至電視台的字幕、報紙的用字習慣都被改變。
例如中華民國教育部視「着」為「著」的異體字，故沒有收錄「着」字。康熙字典中的一些部首用字（如「亠」、「疒」、「辵」、「癶」等）、常見的人名用字（如「堃」（中華民國前行政院長游錫堃）、「煊」（中華民國前監察院院長、前財政部長王建煊）、「栢」（歌手張栢芝）、「峯」（歌手吳青峯、林峯）、「喆」（歌手陶喆）等），雖被中文社會廣泛採用，也沒有收錄到Big5之中。
另外像臺灣的「廍」，臺語指製糖所，常見於鄉間地名。但由於大五碼未收此字，也被「廓」、「部」代替。其他未收錄的地名用字，如「磘」，也被「瑤」、「嗂」代替。
在網際網路上，經常能見到把游錫堃、王建煊、張栢芝、陶喆等名字，寫成為「游錫方方土」、「王建火宣」、「張木百芝」和「陶吉吉」等。電視上日本動畫的中文字幕中也會看到像「木堅」（樫）這樣的字。

Big5延伸

由於Big5碼內的一萬多個字，只是根據中華民國教育部頒布的《常用國字標準字體表》、《次常用國字標準字體表》等用字匯編而成，並沒有考慮社會上流通的人名、地名用字、方言用字、化學及生物科學等用字，亦沒有放入日語平假名及片假名字母。
所以在市面上支援Big5碼的軟體，有不少都自行在原本的編碼外，添加一些符號及用字。

Code Page 950

Windows使用的Code Page 950（係參照IBM Big 5碼的編碼頁號Code Page 950，簡稱CP950）之中，只添加了上述0xF9D6-0xF9FE的倚天擴充字及表格符號，並沒有加入日文假名字母等其他延伸。
在Windows ME之中，微軟首度在0xA3E1加入了歐元（€）符號，之後所有Windows版本的Code Page 950也都有這個符號。

中國海字集

「中國海字集」是中國海公司所出品的繁體漢字造字檔。它本身雖然是一套商品，但中國海公司很少將之單獨販售，往往是與其他軟體一同銷售。例如：中國海字集就曾經與《漢書》、《輕鬆輸入法》等一同發售。由於它包括了不少社會上常見的用字、日文假名、和字等，加上曾與Office 97中文版一併發售，所以比起其他官方Big5延伸，更被台灣民眾所接受。香港部份BBS網路在香港增補字符集未出現之前，一度以中國海字集為標準。

日和字集

「日和字集」乃香港人內木一郎和阿烈開發的True Type Eudc造字檔，以相容香港增補字符集為賣點，增補字集中仍沒涵蓋的日語假名、日本漢字和日本國字，有細明體、標楷體、中黑體等配合Windows 95、98、NT等作業系統字型的字款，並附有倉頡、速成等輸入法作輔助，以及把字集文件轉換至日語編碼的轉碼器工具。

Unicode補完計畫

「Unicode補完計畫」前稱「BIG5 Extension」，透過修改Microsoft Windows及Mozilla的編碼表，從而使用者能在網上傳遞及交換文字。
有鑑於「中國海字集」的成功，「Unicode補完計畫」第二版採用了「中國海字集」原有的造字，再加上「中國海字集」所欠的部分簡體中文字及香港粵語用字，建成一個能在Big5及Unicode之間轉換的編碼表；該計劃目前已推出了64位元測試版。

中華民國教育部造字檔

中華民國教育部有它本身的一套造字檔，主要給部門內使用，亦於教育部的網路字典使用。

中華民國行政院農委會常用中文外字集

中華民國行政院農業委員會曾制訂一套有133個漢字的造字檔，其中有84個是魚字部漢字、7個是鳥字部漢字。

Big5+

1997年中華民國行政院研究發展考核委員會成立專案委託中文數位化技術推廣基金會（中推會）辦理Big5+擴編計畫，使用了兩萬多碼位，納入了Unicode 1.1下所有漢字。由於編碼使用到的範圍超過原先Big5定義（Big5+使用了高位元組0x81-0xFE，低位元組0x40-0x7E、0x80-0xFE），無法安裝在Microsoft Windows上，現幾乎無人使用。

Big-5E

為了使Microsoft Windows使用者可以使用造字檔，中華民國行政院研考會再度委託中推會推出一個補充字集Big-5E（與Big5+並不相容），共收3954字。因為Big5+的編碼限制，再加上Unicode已漸成氣候，除了部分政府單位使用之外，Big-5E並沒有被廣泛的接受。Mac OS X 10.4及以上支援Big-5E。

Big5-2003

鑑於Big5不是官方標準，中推會接受經濟部標準檢驗局委託，召集台灣國內業者、專家和學者編製一個Big5的對照表，並把它放到台灣官方的CNS 11643附錄裡，正式成為官方標準的一部分。
在Big5-2003之中，收錄了所有在1984年Big5編碼的所有字元，另外再加入微軟CP950的歐元符號、倚天延伸字集的0xA3C0-0xA3E0、0xC6A1-0xC7F2、0xF9D6-0xF9FE的用字。Big5-2003沒有收錄行列輸入法特殊符號及0xC7F3-0xC875的俄語西里爾字母，理由是以CNS 11643沒有這些字元。除此之外，所有倚天延伸全部收錄。
相對於Big5-2003，最早沒有加上延伸之Big5則對稱為Big5-1984。

香港增補字符集

香港增補字符集（Hong Kong Supplementary Character Set，簡稱HKSCS）是香港政府基於大五碼之上擴展的字元集標準，是現時香港的中文資訊交換內碼標準。香港增補字符集以前稱為《政府通用字庫》，本來只是香港政府內部統一使用的造字檔，有三千多字。但由於香港電腦業界不斷要求政府迎合本地需要，提出官方的字元集方案，以便與政府進行檔案來往，於是香港政府便在1995年把這個內部使用的標準公開。到了1999年，此字集增加到四千多字，並改為現名。
此字元集由中文介面諮詢委員會管理，仍在不斷擴編之中。字元集主要包括香港地名、人名用漢字、粵語用字（包括粗言穢語在內，這是應警方及法庭需要記錄口供的需要）、異體字、小部份簡體字、平假名、片假名及俄語西里爾字母。

發展

由於各廠商及政府推出的Big5延伸，彼此互不相容，造成亂碼問題。鑑於Unicode能正確地處理七萬多個漢字，近年的作業系統和應用程式（如蘋果電腦Mac OS X和以Cocoa API撰寫之程式、Microsoft Windows 2000及之後版本、Microsoft Office 2000及之後版本、Mozilla瀏覽器、Internet Explorer瀏覽器、Java語言等等），已改用Unicode編碼。可惜現時仍有一些舊的軟體（如Visual Basic 6、部分Telnet或BBS軟體），未能支援Unicode編碼，故相信Big5缺字的問題仍會困擾用戶一段時間，直至所有程式都能改用Unicode為止。