大五碼
大五碼(英語:Big 五,閣叫做五大專案碼)是使用繁體中文(正體中文)社群內底上捷用的電腦漢字元集標準,共收錄十三 , 六十个漢字。
中文碼分做內碼佮交換碼兩類,Big 五屬中文內碼,知名的中文交換碼有 CCCII、CNS 一孵一千六百四十三。
Big 五雖普及台灣、香港、澳門等等繁體中文的區域,但是長期以來並毋是當地的國家 / 地區標準抑是官方標準,毋是業界的標準。靠天中文系統、Windows 繁體中文版等等的主要作業系統的字元集攏是以 Big 五為基準,但廠商閣隨人閣增加無仝款的造字佮造字區,衍生足濟種無仝版本。
二空空三年,Big 五收錄著 CNS 一孵一千六百四十三中文標準交換碼的附錄當中,取得較正式的地位。這个上新版本號做Big 五孵二千空三。
歷史佮名稱
「 大五碼」(Big 五)是由台灣財團法人資訊工業策進會為五大中文套裝軟體所設計的中文共通內碼,佇一九八三年十二月完成公告,隔轉冬三月,資訊工業策進會和臺灣十三間廠商簽定「十六位元個人電腦套裝軟體合作開發(BIG 鋪五)計畫(五大中文套裝軟體)」,因為按呢中文內碼是為臺灣家己做開發的「五大中文套裝軟體」所設計的,所以就號做 Big 五中文內碼。五大中文套裝軟體雖然並無如預期的取代國外的套裝軟體,毋過隨咧採用 Big 五碼的國喬中文系統佮倚天中文系統先後佇台灣市場得著成功,予得 Big 五碼深遠影響正體中文電腦內碼,一直到今仔日。「五大碼」英文名稱「Big 五」後來予人按英文字序譯回中文,以致這馬有「五大碼」和「大五碼」兩个中文名稱。
Big 五碼的產生,是因為彼陣個人電腦無共通的內碼,致使廠商推出的中文應用軟體無法度推廣,並且佮 IBM 五千五百五十、王安碼等等內碼,彼此袂當相容;另外一方面,台灣彼當陣猶未推出中文編碼標準。佇這款的時空背景下跤,為著使台灣早日進入資訊時代,所採用的一个計畫;同時,這个計畫對以台灣為核心的亞洲繁體漢字圈嘛產生了久長的影響。
Big 五產生進前,研發中文電腦的朱邦復認為講內碼字集應該廣納所有的正異體字,佮如戶政等應用的需要,故在彼當陣的碼會議中,建議望採用伊的五萬外字的字庫。工程師認為雖然技術會當行,但是三个位元組(超過兩个位元組)長度的內碼煞會造成英文螢幕畫面對映成中文畫面會發生文字無法度對齊的問題,因為當時盛行之靠天中文系統畫面以兩位元組文字闊度對映做一字中文字圖樣,英文軟體中只要用兩个英文字闊度去顯示一个中文字,畫面就袂去亂著,造成中文系統業者偏愛兩个位元組長度的內碼;此外以倉辨輸入碼壓縮做內碼無爽快等等的功能,毋捌採用。一九八三年有人誣指朱邦復為共產黨,其實研究成果閣較無可能去採用。
佇咧 Big 五碼誕生了後,大部份台灣的電腦軟體攏使用矣 Big 五碼,加上尾仔並天中文系統的高度普及,使後來的微軟 Windows 三 . x 等亦給以採用。雖然後來台灣閣有各種想欲取代 Big 五碼,親像靠天中文系統所推行的靠天碼、台北市電腦公會所推動的公會碼等,但是因為 Big 五字碼已經沿用濟年,所以講佇彼慣勢誠無簡單改變的狀況之下,始終無法度成做主流字碼。抑若台灣後來發展的中文資訊交換碼(CCCII)因為毋是一般的內碼系統,是以交換使用為目的,受先天所限,著愛使用至少愛三个位元組來表示一个漢字,所以普及率遠遠袂赴 Big 五碼。
佇一九九空年代初期,當中國大陸的電子郵件佮轉碼軟體猶未普遍之時,佇深圳的港商佮台商公司亦捌使用 Big 五系統,用方便佮總部的檔案交流、閣有避免為中國的辦公室閣寫一套無仝內碼的系統。使用簡體中文的社群,上捷用的是中國的國標碼(GB 二千三百十二、GB 一孵八千空三十)和 GBK。
除了臺灣以外,其他使用繁體漢字的地區,如香港(香港增補字符集)、 澳門(澳門增補字符集), 佮使用繁體漢字的海外華人,攏捌普遍使用 Big 五碼做中文內碼佮交換碼。
相關標準的歷程
位元組結構
Big 五碼是一套雙位元組字元集,使用雙八碼儲存方法,以兩位元組來共安搭一字。第一个位元組叫做「高位元組」,第二个位元組叫做「低位元組」。
「 高位元組」使用矣零 x 八十一孵空 xFE,「 低位元組」使用矣零 x 四十珍空 x 七 E,佮零 xA 一垺零 xFE。佇咧 Big 五的分割區:
值得注意的是,Big 五重複收錄兩字仝字:「 鬥搭」(零 xA 四仔六十一 / U + 五千一百四十佮零 xC 九十四 A / U + FA 零 C)、「ua-sá-bih」(零 xDCD 一 / U + 五十五 C 零及零 xDDFC / U + FA 零 D)。 此外「十」、「 三十」嘛佇咧符號區閣重複一改,佇檢索系統當中會造成查詢無字。
沖碼問題
因為低位元字中包含著程式語言、shell、script 中,字串抑是命令定定用會著的特殊字元,譬如講零 x 五 C「\」、零 x 七 C「|」等。「\」佇真濟用途的字串中是當做轉義符號,比如講 \ n(換行)、 \ r(歸位)、 \ t(tab)、 \ \(\ 本身符號)、 \ "(引號)等咧。而且「|」佇咧 UNIX 作業系統中大多當做是命令管線的使用,如 " ls-la | more " 等咧。若佇字串內底有遮的特殊的轉義字元,會去予電腦的程式直譯器解說做特殊的用途。但是因為伊是中文的原因,故無法度通好解說講頂頭咧寫的行為,所以可能會失覺察這个轉義符號抑是誤當做轉義符號啊若中斷執行。若按呢,就違反用者本來欲當做中文字元一部份使用的本意。
低位元字元與 ASCII 重疊的字元為零 x 四十到零 x 七 E,如下 ︰
` ` ` @ A-Z [\] ^ _ ` a-z { | } ~ ` ` `
咧定定用字如「功」(零 xA 五十五 C)、「許」(零 xB 三十五 C)、「崁」(零 xBB 五 C)、「育」(零 xA 八十七 C)中央定出現,造成真濟軟體無法度正確的處理以 Big 五編碼的字愛做案。這个問題這孽譎仔性地人名化,這號做「許功蓋」抑是「許建功」(這三字攏有這款問題)。
一般的解決方法,是額外增加「\」彼字元,因為乎「\ \」會去予人解說講「\」,所以乎「成功 \ 因素」這字攕就會用得無誤的被程式當做「成功因素」的字串來處理。猶毋過額外的困擾是,有一寡輸出功能並袂共「\」當做特殊字元看待,所以有一寡程式抑是網頁就會錯誤地定定出現佇咧「許功蓋」遮的字後壁加「\」。
低位元組為「\」(零 x 五 C)彼字元:
` ` ` ﹏ ua-sá-bih α 屘功吒喉喉塗塗礱焦硞硞珮豹出目屎許烈交交關交趾暝起交關閱辛苦擺交關婁婁婁 ふ ж 抹抹抹抹抹抹抹抹鼻鼻鼻鼻抹抹抹抹抹抹抹著抹抹抹抹抹抹抹抹著鋪鋪鋪鋪鋪鋪鋪鋪鋪 ` ` `
低位元組為「|」(零 x 七 C)彼字元:
` ` ` ﹄ └ ㄍ 弋四帆坑育猶閣抹滇迢迢徑磅子院出擢糊糊稅閏會出擢漏洩罵魯糕食舉甕仔辮疊子鳥 ア 鋪鋪擺擺擺擺擺鼻鼻鼻鼻鼻揍揍搶搶烌烌烌硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞硞 ` ` `
當共有中文字元檔名的檔案上傳到 ftp 時,當中包含低位元組為零 x 五 C(\)字元的檔案是袂當上傳到 ftp 的,毋過當中包括低位元組做零 x 七 C(|)伊字元的檔案,是會當傳到 ftp(只要無包含講低位元組為零 x 五 C 彼字元), 毋過低位元組會變做零 x 五 F(\ _), 譬如講檔名「教育部第四改會議記錄」會變做是「教灶部第北改愷議紀錄」。
共畫線字元相衝
Big 五碼字元的頭一个元組會參 DOS 代碼頁四百三十七的畫線字元相衝而產生亂碼。
比如講
` ` ` ┌ ─ ─ ─ ─ ─ ─ ─ ┐ │ 維基百科 │ └ ─ ─ ─ ─ ─ ─ ─ ┘ ` ` `
中央的中文字就是若準 Big 五碼儲存,顯示的時會變做:
` ` ` ┌ ─ ─ ─ ─ ─ ─ ─ ─ ┐ 竟 � 鋪坌 � └ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ` ` `
也有替代方法就是用全形劃線符號,但是較占空間。靠天公司另外推出靠天碼解決這个問題,毋過無時行。
私人造字區
佇這个天中文系統內底,以及後來的 Windows 三孵一、九十五佮九十八中,定義四个私人造字區範圍:零 xFA 四十珍空 xFEFE、零 x 八 E 四十珍空 xA 零 FE、零 x 八千一百四十二分空 x 八 DFE、零 xC 六 A 一垺零 xC 八 FE。
私人造字區的原意,是供使用者加入本來佇咧編碼表中欠缺的字元,但是使用者攏佇無仝款的所在加上無仝款的字元了,做交換資料的時陣,對方便難以知影某一个編碼究竟想欲表達啥物字。
影響
自中文電腦流行了後,因為真濟日常用字予人看做是異體字無收錄。足濟人的,甚至電視台的字幕、報紙的用字慣勢攏予人改變。
譬如講中華民國教育部視「ua-sá-bih」為「對」的異體字,故無咧收錄「ua-sá-bih」字。康熙字典中的一寡部首用字(如「ua-sá-bih」、「 ua-sá-bih」、「 走馬」、「 ua-sá-bih」等)、 捷看的人名用字(如「堃」(中華民國前行政院長游錫堃)、「ua-sá-bih」(中華民國前監察院院長、前財政部長王建佑)、「ua-sá-bih」(歌手張鈺芝)、「峯」(歌手吳青峯、林峯)、「哲」(歌手陶哲)等)、「ua-sá-bih」(香港名人李捌超鴻)等), 雖然中文社會廣泛採用,嘛無收錄著 Big 五。
另外像臺灣的「廍」,臺語指製糖所,定定看著鄉間的地號名。猶毋過因為大五碼無收這个字,嘛予人「ua-sá-bih」、「 部」代替。其他無收錄的地名用字,如「ua-sá-bih」,嘛予人「瑤」、「 ua-sá-bih」代替。
佇網路頂懸,定定會當看著共游錫堃、王建佑、張鈺芝、陶哲等名,寫做「游錫方方土」、「 王建火宣」、「 張木百芝」和「陶吉吉」等。電視上日本動畫的中文字幕中嘛會看著像「木堅」(ua-sá-bih)按呢的字。
Big 五未收錄字舉例
- 佇咧倉輸入法內底煞有輸入。
- 「ua-sá-bih」、「 ua-sá-bih」佮「ua-sá-bih」佇香港確實定定用。而且「ua-sá-bih」和「村」、「 ua-sá-bih」和「對」佇咧香港有客觀的字義分工,袂當看做是異體字。
- 塵「ua-sá-bih」因為現代人體質易過敏、環境定定有過敏源,「 ua-sá-bih」足捷用的。
Big 伸五線
因為 Big 五碼內的萬外字,只是根據中華民國教育部所頒布的《定用國字標準字體表》、《 常在用國字標準字體表》等用字匯編的成做,並無考慮社會上流通的人名、地號名用字、方言用字、化學佮生物科學等等的用字,亦無囥入日語平假名佮片假名母。
所以佇咧市面上支援 Big 五碼的軟體,有袂少攏家己佇咧原本的編碼外,添加一寡符號佮用字。
非官方 Big 伸五線
靠天 Big 伸五線
並天中文系統是佮 IBM 五千五百五十碼相容,佇咧 Big 五碼添加了以下字元,講號做靠天擴充字集:
- 佇咧零 xA 三 C 空吱吱 xA 三 E 零,添三十三个控制字元圖像。
- 罕得用符號區。佇咧零 xC 六 A 一垺零 xC 八 D 三,添加著圓形一爿十、括號一爿十、小寫羅馬數字(ⅰ、ⅱ、ⅲ、…、ⅸ、ⅹ)等章節符號、一寡部首(⼂、⼃、⼅、⼇、⼌、⼍、⼎、⼓、⼖、⼙、⼛、⼢、⼧、⼮、ua-sá-bih、⼴、⼵、⼹、⼺、⽁、⽆、⽧、⽨、⾡、⾪)佮筆畫結構(㇏、ua-sá-bih、ua-sá-bih、ua-sá-bih、ua-sá-bih、ua-sá-bih、ua-sá-bih、ua-sá-bih、ua-sá-bih、ua-sá-bih)、 日語中的平假名、片假名佮常用符號,猶閣俄語使用的西里爾字母,此外猶閣有行列四十輸入法使用的鍵名。
- 佇咧零 xF 九 D 六板零 xF 九 FE,添七个靠天擴充字(ua-sá-bih、鉎、內底、墻、ua-sá-bih、粧、ua-sá-bih)三十四个製表符號佮區塊塊的元件。
這个延伸有時號做 Big 五-Eten。因為靠天中文系統是 Windows 九十五推出進前市場佔有率上懸的中文系統,此延伸是各種非官方延伸當中上蓋重要的一个。袂少紲後的延伸字集,攏會留空靠天 Big 五延伸已經使用的碼位,甚至直接吸納靠天 Big 伸五字元(但是佇咧 C 八 A 五至 C 八 CC 的行列四十輸入法鍵名除外)。
佇尾期版本的靠天中文系統當中,閣較入一寡圖案佮簡體中文字,猶毋過無被廣泛接受。
Code Page 九百五十
Windows 使用的 Code Page 九百五十(參照矣 IBM Big 五碼的編碼頁號 Code Page 九百五十,簡稱 CP 九百五十)之中,添加了上述零 xF 九 D 六板零 xF 九 FE 的靠天擴充字及表格符號,並無加入日文假名母等其他的延伸。
佇咧 Windows ME 之中,微軟頭一改佇咧零 xA 三 E 加入去歐元(€)符號,了後所有的 Windows 版本的 Code Page 九百五十嘛攏有這个符號。
中國海字集
「 中國海字集」是中國海公司所出品的繁體漢字造字檔。伊本身雖然是一套商品,但是中國海公司真少將之單獨賣,往往就是佮其他的軟體鬥陣銷售。比如講:中國海字集就捌參《漢書》、《 輕鬆輸入法》等咧賣。因為伊包括袂少社會上定定看著的用字、日文假名、佮字等,加上曾與 Office 九十七中文版做伙賣,所以比起其他的官方 Big 伸五線,閣較予台灣民眾所接受。香港的部份 BBS 網路佇香港增補字符集無出現進前,一度以中國海字集做標準。
日和字集
「 日和字集」乃香港人內木一郎和阿烈開發的 TrueType 造字檔,以相容香港增補字符集做賣點,增補字集中猶原無涵蓋的日語假名、日本漢字佮日本國字,有詳細明體、標楷體、中烏體等配合 Windows 九十五、九十八、NT 等作業系統字型的字款,並附有倉蔭、速成等輸入法做輔助,以及共字集文件轉換到日語編碼的轉碼器工具。
Unicode 補計畫
「 Unicode 補計畫」前稱「BIG 五 Extension」,透過修改 Microsoft Windows 佮 Mozilla 的編碼表,對使用者會當佇網路頂懸傳達佮交換文字。
有鑑於「中國海字集」的成功,「 Unicode 補計畫」二版採用矣「中國海字集」原有的造字,閣加上「中國海字集」所欠的部份簡體中文字佮香港粵語用字,起做一个會當佇 Big 五及 Unicode 之間改換的編碼表;該計畫目前已經推出六十四位元測試版。
官方 Big 伸五線
中華民國教育部造字檔
中華民國教育部有伊本身的一套造字檔,主要予部門內底使用,亦於教育部的網路字典使用。
中華民國行政院農委會定定用中文外字集
中華民國行政院農業委員會捌制訂一套有一百三十三个漢字的造字檔,其中有八十四是魚字部漢字、七个是鳥仔字漢字。
Big 五 +
一九九七年中華民國行政院研究發展考核委員會成立專案委託中文數位化技術推廣基金會(中捒會)辦理 Big 五 + 擴編計畫,使用兩萬外碼位,納入矣 Unicode 一孵一下所有漢字。因為編碼使用著的範圍超過原先 Big 五定義(Big 五 + 使用高位元組零 x 八十一孵空 xFE,低位元組零 x 四十珍空 x 七 E、零 x 八十追零 xFE), 無法度安裝佇咧 Microsoft Windows 上,現大部分沒人使用。
Big 鋪五 E
為著使 Microsoft Windows 使用者會當使用造字檔,中華民國行政院研考會閣再委託中推會推出一个補充字集 Big 鋪五 E(佮 Big 五 + 無相容), 把它收三千九百五十四字。因為乎 Big 五 + 的編碼限制,閣加上 Unicode 已經成氣候,除了部份的政府單位使用以外,Big 鋪五 E 並無予人廣泛的接受。Mac OS X 十二點四佮以上支援 Big 鋪五 E。
Big 五孵二千空三
鑑於 Big 五毋是官方標準,中推會接受經濟部標準檢驗局委託,召集臺灣國內業者、專家佮學者編製一个 Big 五的對照表,並且共囥去到台灣官方的 CNS 一孵一千六百四十三附錄內底,正式成做官方標準的一部份。
佇咧 Big 五孵二千空三之中,收錄了所有在一九八四年 Big 五編碼的所有的字元,另外閣加入微軟代碼頁九百五十箍的歐元符號、並天延伸字集的零 xA 三 C 空吱吱 xA 三 E 零、零 xC 六 A 一垺零 xC 七 F 二、零 xF 九 D 六板零 xF 九 FE 的用字。Big 五鋪二千空三無收錄行列輸入法特殊符號佮零 xC 七 F 三-c零 xC 八百七十五的俄語西里爾字母,理由是以 CNS 一孵一千六百四十三無遮的字元。除了這以外,所有靠天延伸全部收錄。另外咧,伊試圖減少 Unicode 東亞文字闊有問題的「霧霧」部份,伊共某的符號的 Unicode 對應做改變,致使代碼頁九百五並無完全是 Big 五孵二千空三的子集合;另外咧,零 xC 六 C 空吱吱 xC 六 D 七對應著 Unicode 的康熙字典部首區而非漢字區。
相對的是 Big 五孵二千空三,上早無加上延伸之 Big 五則對稱做 Big 五孵一千九百八十四。
香港增補字符集
香港增補字符集(Hong Kong Supplementary Character Set,簡稱 HKSCS)是香港政府以大五碼以上擴展的字元集標準,是現時香港的中文資訊交換內碼標準。香港增補字符集古早號做《政府通用字庫》,本來只是香港政府內部統一使用的造字檔,有三千幾字。毋過因為香港電腦業界一直咧要求政府迎合本地需要,提出官方的字元集方案,通好佮政府進行檔案來往,就按呢香港政府便在一九九五年共這內部使用的標準公開。到甲一九九九年,此字集增加到四千外字,做改名。
此字元集由中文介面諮詢委員會管理,猶原佇咧不斷擴編的中間。字元集主要包括香港地號名、人名用漢字、粵語用字(包括粗言穢咱在內,這是應警方佮法庭需要記錄口供的需要)、 異體字、小部份簡體字、平假名、片假名佮俄語西里爾字母。
發展
因為各廠商佮政府推出的 Big 伸五線,互相無相容,造成亂碼問題。鑑於 Unicode 會當正確來處理七萬外个漢字,最近近年的作業系統佮應用程式(若蘋若電腦 Mac OS X 佮以 Cocoa API 編寫的程式、Microsoft Windows 兩千及了後版本、Microsoft Office 兩千及了後版本、Mozilla 瀏覽器、Internet Explorer 瀏覽器、Java 語言等等), 已經改用 Unicode 編碼。可惜現此時猶閣有一寡舊的軟體(如 Visual Basic 六、部份 Telnet 抑是 BBS 軟體), 所以袂當支援 Unicode 編碼。
輸入方法
- VimIM 佇咧 Vim 環境內底,會當直接鍵入十進制抑是十六進制 Big 五碼。也毋免啟動輸入法,嘛無需要碼表。
參考文獻
參看
- CCCII
- GB 一孵八千空三十《資訊交換用漢字編碼字元集基本集的擴充》
- Unicode
- 中日韓統一表意文字
- 中文亂碼
- 香港增補字符集(HKSCS)
- 國家標準中文交換碼(CNS 一孵一千六百四十三)
外部連結
- Big 五字元集簡介
- Big 第五編碼系統
- Big 五內碼表
- BIG 五編碼查詢
- CCCII 中文資訊交換碼
- CNS 一孵一千六百四十三國家標準中文交換碼
- ICU Converter Explorer ( Big 五 )
- Mozilla 系列佮 Big 五中文字碼
- RFC 一千九百二十二附錄中含 Big 五和 CNS 一孵一千六百四十三相轉的資訊
- 中文數位化技術推廣基金會
- 微軟 CP 九百五十編碼表
- 香港特區政府:香港增補字符集
- 補計畫佮 Big 五兩千空三相異處(扣掉保留區、造字區)