大五碼

大五碼(,又稱五大專案碼五大碼)是繁体中文社群最常用的電腦漢字字符集標準,共收錄13060個漢字。

大五碼雖普及於台灣、香港、澳門等繁體中文區域,但長期以來並非當地的國家/地區標準或官方標準,而只是業界標準。倚天中文系統、Windows繁體中文版等主要作業系統的字符集都是以大五碼為基準,但廠商又各自增加不同的造字與造字區,衍生成多種版本。

2003年,大五碼收錄到CNS11643中文標準交換碼的附錄當中,取得正式地位。這最新版稱為Big5-2003

歷史及名稱
「大五碼」()是由台灣財團法人資訊工業策進會為五大中文套裝軟體設計的中文共通內碼,在1983年12月完成公告,隔年3月,資訊工業策進會與臺灣13家廠商簽定「16位元個人電腦套裝軟體合作開發(BIG-5)計畫(五大中文套裝軟體)」,因為此中文內碼是為臺灣自行製作開發之「五大中文套裝軟體」所設計的,所以就稱為Big5中文內碼。五大中文套裝軟體雖然並沒有如預期的取代國外的套裝軟體,但隨著採用大五碼的國喬中文系統及倚天中文系統先後在台灣市場獲得成功,使得大五碼深遠影響正體中文電腦內碼,直至今日。「五大碼」的英文名「」後來被人按英文字序譯回中文,以致現在有「五大碼」和「大五碼」兩中文名。

大五碼誕生,是因為當時個人電腦沒有共通的內碼,導致廠商推出的中文應用軟體無法推廣,並且與IBM 5550、王安碼等內碼,彼此不能兼容;另一方面,台灣當時尚未推出中文編碼標準。在這樣的時空背景下,為了使台灣早日進入資訊時代,共用改用新的中文編碼就成爲各廠商所採行的計畫;同時,這個計畫對於以台灣為核心的亞洲繁體漢字圈也產生了久遠的影響。

大五碼誕生前,研發中文電腦的朱邦復認為內碼字集應該廣納所有正異體字以顧及戶政等實用需求,故在當時的內碼會議中,建議希望採用他五萬多字的字庫。工程師認為雖其技術可行,但是三位元組(超過兩位元組)長度的內碼卻會造成英文螢幕畫面映射成中文畫面會發生文字無法對齊的問題,因為當時盛行之倚天中文系統畫面以兩位元組文字寬度映射成一個中文字圖樣,英文軟體中只要以兩個英文字寬度去顯示一個中文字,畫面就不會亂掉,造成中文系統業者偏愛二個位元組長度的內碼;此外以倉頡輸入碼壓縮成的內碼沒有排序等功能,因此未獲採用。1983年有人誣指朱邦復為共產黨,其研究成果更不可能獲採用。

在大五碼誕生後,大部分台灣的電腦軟體都使用了大五碼,加上後來倚天中文系統的高度普及,使後來的微软Windows 3.x等亦予以採用。雖然後來台灣還有各種想要取代大五碼,像是倚天中文系統所推行的倚天碼、台北市電腦公會所推動的公會碼等,但是Big5字碼已沿用多年,在習慣不易改變的情況下,始終無法成為主流字碼。而台灣後來發展的中文資訊交換碼非一般內碼系統,是以交換使用為目的,受先天所限,必須使用至少三位元組來表示一漢字,普及率遠遠不及大五碼。

在1990年代初期,當中國大陸的電郵和轉碼軟體還未普遍之時,在深圳的港商和台商公司亦曾經使用Big5系統,以方便與總部交流文件、以及避免為中國的辦公室再寫一套不同內碼的系統。使用简体中文的社群,最常用的是中国的國標碼(GB 2312、GB 18030)和GBK。

除了台灣外,其他使用繁體漢字的地區,如香港(香港增補字符集)、澳門(澳門增補字符集),及使用繁體漢字的海外華人,都曾普遍使用大五碼做為中文內碼及交換碼。

相關標準歷程
字節結構
大五碼是雙位元組字符集,以十六進制表示,使用雙八碼儲存方法,以兩字節安放一字。第一字節稱為「高位字節」,第二字節稱為「低位字節」。「高位字節」使用了0x81至0xFE,「低位字節」使用了0x40至0x7E,及0xA1至0xFE。

在大五碼的分區中:

值得留意的是,Big5重複收錄了兩個相同的字:「兀」(0xA461/U+5140及0xC94A/U+FA0C)、「嗀」(0xDCD1/U+55C0及0xDDFC/U+FA0D)。

此外,部分编码映射把符号区的苏州码子「〸」、「〹」、「〺」映射至汉字(分别为U+5341,U+5344和U+5355)而非中日韩符号和标点区(分别为U+3038,U+3039和U+303A),在檢索系統中常會造成查詢不到字。

衝碼問題
低位元字元中包含了程式語言、shell、script中,字串或命令常會用到的0x5C“\”、0x7C“|”等特殊字元。「\」在許多用途的字串中是當作轉義符號,例如\n(換行)、\r(歸位)、\t(tab)、\\(\本身符號)、\"(引號)等等。而「|」在UNIX作業系統中大多當作命令管線的使用,如ls -la | more等等。如果在字串中有這些特殊的轉義字元,會被電腦程式或直譯器解釋為特殊用途。但是因為是中文的原因,故無法正確解釋為上面所述的行為,因此程式可能會忽略此轉義符號或是誤當作轉義符號而中斷執行。若此,就違反了使用者本來要當成中文字元一部份使用的本意。

低位元字元與ASCII重疊的字元為0x40到0x7E,如下︰

@ A-Z [ \ ] ^ _ ` a-z { | } ~

在常用字如「-{功}-」(0xA55C)、「-{許}-」(0xB35C)、「-{蓋}-」(0xBB5C)、「-{育}-」(0xA87C)、「-{會}-」(0xB77C)、「-{院}-」(0xB07C)中時常出現,許多軟體無法正確處理以大五編碼的字串或文件。這問題被戲謔性地人名化,稱為「-{許功蓋}-」或「-{許蓋功}-」(這三個字都有這種問題)。

一般的解決方法,是額外增加“\”的字元,因為“\\”會被解釋為“\”,所以“成功\因素”這字串就能無誤地被程式當作“成功因素”的字串來處理。但是額外的困擾是,有些輸出功能並不會把“\”當作特殊字元看待,所以有些程式或網頁就會常常在「許功蓋」這些字後面錯誤地多顯示了“\”。)、常見公司或機構名用字(例如「-{綫}-」(-{無綫電視}-)、「-{滙}-」(-{滙豐銀行}-)、「-{恒}-」(-{恒生銀行}-)、「-{碁}-」(-{宏碁電腦}-)等),這些字雖然受中文社會廣泛採用,也沒有收錄到Big5碼中。

另外許多日本人姓名中有的字,也沒有收錄在Big5碼之中,如「-{瑠}-」(日本棒球選手歐可耶瑠偉、瑠公郭錫瑠、日本AV女優瑠川里菜、日本女藝人波瑠、香港VTuber[https://www.facebook.com/p/Rumii-Ch-如月ルミィHKVTuber-100064053908357/ 如月瑠美])、「-{樫}-」(日本漫畫家富樫義博、日本男性聲優樫井笙人)、「-{畑}-」(日本漫畫家小畑健、日本警探電視劇角色古畑任三郎)、「-{坂}-」(日本作曲家坂本龍一、日本演員坂口健太郎)、「-{渕}-」(日本聲優渕上舞、日本女配音員渕崎有里子)、「-{凪}-」(日本漫畫角色三千院凪)等字,都是如此。

另外,許多俗字如-{「双」、「厦」、「厰」、「厠」、「麽」}-也沒有收錄在Big5碼中,但是香港仍然普遍使用俗字,很多字的正寫(-{「雙」、「廈」、「廠」、「廁」、「麼」}-)甚至連很多成年人也不知道。

Big5碼的缺字之中,也有不少科學用字,例如化學元素名稱也沒有收錄齊全,包括「-{鉕}-」、「-{砈}-」、「-{鍅}-」、「-{鉳}-」、「-{鍩}-」,以及-{𨧀}-之後的元素(除「-{鐽}-」、「-{錀}-」、「-{鈇}-」、「-{鏌}-」外)都沒有收錄,以及有機化學用字如「-{萘}-」、「-{蒽}-」、「-{腈}-」、「-{肼}-」等,也都沒有收錄。

碰到Big5碼沒收錄的字,許多人會以其他字代替。以「坂」字爲例,人們經常以「阪」字代替(注意大阪的古稱就是「大坂」,見大坂之役),許多業者(例如光榮)在製作相關的歷史題材遊戲的中文版本時,本應使用古名的「坂」但仍以「阪」字代替,以致現時仍然有不少中文使用者誤植為「大之陣」,還有像「廍」字,也常被「廓」、「部」代替。其他未收錄的地名用字,如「磘」,也被「瑤」、「嗂」代替,另外「-{滙}-豐銀行」與「-{恒}-生銀行」雖然分別以「-{滙}-」字與「-{恒}-」字來註冊,不過人們也常常分別以「-{匯}-」字與「-{恆}-」字代替。

另一種做法係依賴拆字法。在互聯網上,經常能見到把游錫堃、王建煊、張-{栢}-芝、陶喆等名字,寫成為「游錫方方土」(『方方土』亦因此成為游錫堃的暱稱之一)、「王建火宣」、「張木百芝」和「陶吉吉」等。電視上日本動畫的中文字幕中也會看到像「-{木堅}-」(-{樫}-)、「-{火田}-」(-{畑}-)這樣的字。而有口字旁的香港字,許多人會用英文字母「o」代替口部,例如「o既」(-{嘅}-)、「-{o係}-」(-{喺}-)、「o左」(-{咗}-)。

Big5未收錄字舉例

  • 「-{邨、着、綫、强、鬪、裏、峯、牀、羣、衞}-」在香港極為常用(寫法不同於台灣的「-{村、著、線、強、鬥、裡、峰、床、群、衛}-」)。而且「邨」和「村」、「-{着}-」和「-{著}-」在香港有客觀的字義分工,不能視爲異體字。

Big5延伸
市面上支援大五碼的軟件有不少會自行在原本編碼外添加一些符號及用字。

非官方Big5延伸
倚天Big5延伸
倚天中文系統為與IBM5550碼相容,在大五碼添加了以下字元,稱為倚天擴充字集:
*罕用符號區。在0xC6A1–0xC8D3,添加了圓形1–10、括號1–10、小寫羅馬數字(ⅰ、ⅱ、ⅲ、...、ⅸ、ⅹ)等章節符號、一些部首(-{⼂、⼃、⼅、⼇、⼌、⼍、⼎、⼓、⼖、⼙、⼛、⼢、⼧、⼮、⼳、⼴、⼵、⼹、⼺、⽁、⽆、⽧、⽨、⾡、⾪}-)及筆畫結構(-{㇏、𠃌、乚、𠂊、刂、䒑、龰、冈、龱、𧘇}-)、日语中的平假名、片假名和常用符號,以及俄语使用的西里尔字母,此外還有行列40輸入法使用的鍵名。
*在0xF9D6–0xF9FE,添加了7個倚天擴充字(「-{碁}-」、「-{銹}-」、「-{裏}-」、「-{墻}-」、「-{恒}-」、「-{粧}-」、「-{嫺}-」,這七個字分別為「-{棋}-」、「-{鏽}-」、「-{裡}-」、「-{牆}-」、「-{恆}-」、「-{妝}-」、「-{嫻}-」的異體字)和34個製表符號和區塊元件。

這個延伸有時稱為Big5-ETEN。由於倚天中文系統是Windows 95推出之前市場佔有率最高的中文系統,此延伸是各種非官方延伸當中最重要的一個。不少後續的延伸字集,都會留空倚天Big5延伸已使用的碼位,甚至直接吸納倚天Big5延伸的字符(但位於C8A5至C8CC的行列40輸入法鍵名除外)。

添加了7個倚天擴充字後,理論上,常用率非常高的「-{裏}-」字,以及「-{恒生}-」、「-{宏碁}-」等品牌,可以直接使用這些寫法,不必改為原裝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網絡在香港增补字符集未出現之前,一度以中國海字集為標準。

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

Unicode補完計畫
「Unicode補完計畫」前稱「BIG5 Extension」,透過修改Microsoft Windows及Mozilla的編碼表,從而使用者能在網上傳遞及交換文字。

有鑑於「中國海字集」的成功,「Unicode補完計畫」第二版採用了「中國海字集」原有的造字,再加上「中國海字集」所欠的部分簡體中文字及香港粵語用字,建成一個能在Big5及Unicode之間轉換的編碼表;該計劃目前已推出了64位元測試版。

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

中華民國行政院農委會常用中文外字集
中華民國行政院農業委員會曾制訂一套有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年大五編碼的所有字元,另外再加入微軟代碼頁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。

香港增補字符集
香港增補字符集(Hong Kong Supplementary Character Set,簡稱HKSCS)是香港政府基於大五碼之上擴展的字符集標準,是現時香港的中文資訊交換內碼標準。香港增補字符集以前稱為《政府通用字庫》,本來只是香港政府內部統一使用的造字檔,有三千多字。但由於香港電腦業界不斷要求政府迎合本地需要,提出官方的字符集方案,以便與政府來往文件,於是香港政府便在1995年把這套內部使用的標準公開。到了1999年,此字集增加到四千多字,並改為現名。

此字符集由中文界面諮詢委員會管理,仍在不斷擴編之中。字符集主要包括香港地名、人名用漢字、粵語用字(包括粗言穢語在內,這是應警方及法庭需要記錄口供之用)、異體字、小部份簡體字、平假名、片假名及俄語西里爾字母。

發展
各廠商及政府推出的大五延伸互不兼容,造成亂碼問題。鑑於Unicode能正確處理七萬多漢字,近年的作業系統和應用程式(如蘋果電腦Mac OS X和以Cocoa API撰寫之程式、Microsoft Windows 2000及之後版本、Microsoft Office 2000及之後版本、Mozilla瀏覽器、Internet Explorer瀏覽器、Java語言等等),已改用Unicode編碼。可惜現時仍有一些舊的軟件(如Visual Basic 6、部分Telnet或BBS軟件),未能支援Unicode編碼。

輸入方法
*VimIM在Vim環境中,可以直接鍵入十進制或十六進制Big5碼。既不需要啟動輸入法,也不需要碼表。

參見
*中文資訊交換碼
*中文標準交換碼
*GB 18030《信息交换用汉字编码字符集基本集的扩充》
*統一碼
*中日韓統一表意文字
*中文亂碼
*香港增補字符集(HKSCS)
*國家標準中文交換碼(CNS 11643)

参考文献
*
*《中文字碼 萬碼奔騰 一碼當先》作者:黃大一,永麒科技出版

外部連結
*[https://web.archive.org/web/20041212084615/http://www.haiyan.com/steelk/navigator/ref/big5/b5index.htm 大五碼字符集簡介]
*[http://libai.math.ncu.edu.tw/~shann/Chinese/big5.html 大五碼編碼系統]
*[http://web.tnu.edu.tw/me/study/moodle/tutor/vb6/tutor/r05/ 大五碼內碼表]
*[https://ace33022.github.io/big5code/ 大五碼編碼查詢]
*[https://web.archive.org/web/20090708003902/http://xxcx.org/hzbm/ 大五碼編碼查詢]
*[https://web.archive.org/web/20041210171124/http://www.cccii.org.tw/ 中文資訊交換碼]
*[https://www.cns11643.gov.tw/index.jsp 中文標準交換碼]
*[http://demo.icu-project.org/icu-bin/convexp?conv=Big5 ICU Converter Explorer (Big5)]
*[http://moztw.org/docs/big5/ Mozilla系列與大五碼中文字碼]
*[http://www.ietf.org/rfc/rfc1922.txt RFC1922附錄中含大五碼和中文標準交換相轉資訊]
*[http://www.cmex.org.tw/ 中文數位化技術推廣基金會]
*[http://www.microsoft.com/globaldev/reference/dbcs/950.htm 微软CP950编码表]
*[https://web.archive.org/web/20041209055050/http://www.info.gov.hk/digital21/chi/hkscs/introduction.html 香港特區政府:香港增補字符集]
*[https://web.archive.org/web/20051216103930/http://cpatch.org/witchfive/1/uao-big52k3-diff.htm 補完計畫跟Big5 2003相異處(扣掉保留區、造字區)]

-{
}-

评论 (0)

  • 还没有评论,来抢沙发吧。