大五碼

title: 历史及名称.
content: 「大五码」(英语: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码做为中文内码及交换码。
title: 字节结构.
content: Big5码是一套双字节字符集,使用了双八码储存方法,以两个字节来安放一个字。第一个字节称为「高位字节」,第二个字节称为「低位字节」。  「高位字节」使用了0x81-0xFE,「低位字节」使用了0x40-0x7E,及0xA1-0xFE。在Big5的分区中: 值得留意的是,Big5重复收录了两个相同的字:「兀、兀」(0xA461[U+5140]及0xC94A[U+FA0C])、「<unk>、<unk>」(0xDCD1[U+55C0]及0xDDFC[U+FA0D])。此外「十」、「卅」也在符号区又重复了一次,在检索系统中常会造成查询不到字。
title: 冲码问题.
content: 因为低位元字符中包含了程序语言、shell、script中,字串或命令常会用到的特殊字符,例如0x5C“\”、0x7C“|”等。「\」在许多用途的字串中是当作转义符号,例如\n(换行)、\r(归位)、\t(tab)、\\(\本身符号)、\"(引号)等等。而「|」在UNIX操作系统中大多当作命令管线的使用,如"ls -la | more"等等。如果在字串中有这些特殊的转义字符,会被程序或直译器解释为特殊用途。但是因为是中文的原因,故无法正确解释为上面所述的行为,因此程序可能会忽略此转义符号或是误当作转义符号而中断执行。若此,就违反了使用者本来要当成中文字符一部分使用的本意。  低位元字符与ASCII重叠的字符如下.. 在常用字如「功」(0xA55C)、「许」(0xB35C)、「盖」(0xBB5C)、「育」(0xA87C)中时常出现,造成了许多软件无法正确处理以Big5编码的字串或文件。这个问题被戏谑性地人名化,称为「许功盖」或「许盖功」(这三个字都有这种问题)。  一般的解决方法,是额外增加“\”的字符,因为“\\”会被解释为“\”,所以“成功\因素”这个字串就能无误地被程序当作“成功因素”的字串来处理。但是额外的困扰是,有些输出功能并不会把“\”当作特殊字符看待,所以有些程序或网页就会错误地常常出现在「许功盖」这些字后面多了“\”。
title: 与画线字符相冲.
content: Big5码字符的首字节会与DOS代码页437的画线字符相冲而产生乱码。  例如  当中的中文字如以Big5码储存,显示时会变成:  也有替代方法就是用全角划线符号,但较占空间。倚天公司另外推出倚天码解决此问题,但不流行。
title: 私人造字区.
content: 在倚天中文系统,以及后来的Windows 3.1、95及98中,定义四个私人造字区范围:0xFA40-0xFEFE、0x8E40-0xA0FE、0x8140-0x8DFE、0xC6A1-0xC8FE。  私人造字区的原意,是供使用者加入本来在编码表中缺少的字符,但当每个使用者都在不同的地方加上不同的字符后,当交换资料时,对方便难以知道某一个编码究竟想表达什么字。
title: 影响.
content: 自中文电脑流行后,由于很多日常用字被视为异体字而未收录。很多人,甚至电视台的字幕、报纸的用字习惯都被改变。  例如中华民国教育部视「着」为「著」的异体字,故没有收录「着」字。康熙字典中的一些部首用字(如「亠」、「<unk>」、「<unk>」、「癶」等)、常见的人名用字(如「堃」(中华民国前行政院长游锡堃)、「煊」(中华民国前监察院院长、前财政部长王建煊)、「栢」(歌手张栢芝)、「峰」(歌手吴青峰、林峰)、「喆」(歌手陶喆)等)、「群」(香港名人李曾超群)等),虽受中文社会广泛采用,也没有收录到Big5。  另外像台湾的「<unk>」,台语指制糖所,常见于乡间地名。但由于大五码未收此字,也被「廓」、「部」代替。其他未收录的地名用字,如「<unk>」,也被「瑶」、「<unk>」代替。  在因特网上,经常能见到把游锡堃、王建煊、张栢芝、陶喆等名字,写成为「游锡方方土」、「王建火宣」、「张木百芝」和「陶吉吉」等。电视上日本动画的中文字幕中也会看到像“木坚”(<unk>)这样的字。
title: Big5延伸.
content: 由于Big5码内的一万多个字,只是根据中华民国教育部颁布的《常用国字标准字体表》、《次常用国字标准字体表》等用字汇编而成,并没有考虑社会上流通的人名、地名用字、方言用字、化学及生物科学等用字,亦没有放入日语平假名及片假名字母。  所以在市面上支援Big5码的软件,有不少都自行在原本的编码外,添加一些符号及用字。
title: 非官方Big5延伸.
title: 倚天Big5延伸.
content: 倚天中文系统为与IBM5550码相容,在Big5码添加了以下字符,称为倚天扩充字集:  这个延伸有时称为Big5-Eten。由于倚天中文系统是Windows 95推出之前市场占有率最高的中文系统,此延伸是各种非官方延伸当中最重要的一个。不少后续的延伸字集,都会留空倚天Big5延伸已使用的码位,甚至直接吸纳倚天Big5延伸的字符(行列40输入法键名除外)。  在后期版本的倚天中文系统中,更加入了一些图案和简体中文字,但未被广泛接受。
title: Code Page 950.
content: Windows使用的Code Page 950(系参照IBM Big 5码的编码页号Code Page 950,简称CP950)之中,只添加了上述0xF9D6-0xF9FE的倚天扩充字及表格符号,并没有加入日文假名字母等其他延伸。  在Windows ME之中,微软首度在0xA3E1加入了欧元(€)符号,之后所有Windows版本的Code Page 950也都有这个符号。
title: 中国海字集.
content: 「中国海字集」是中国海公司所出品的繁体汉字造字档。它本身虽然是一套商品,但中国海公司很少将之单独贩售,往往是与其他软件一同销售。例如:中国海字集就曾经与《汉书》、《轻松输入法》等一同发售。由于它包括了不少社会上常见的用字、日文假名、和字等,加上曾与Office 97中文版一并发售,所以比起其他官方Big5延伸,更被台湾民众所接受。香港部分BBS网络在香港增补字符集未出现之前,一度以中国海字集为标准。
title: 日和字集.
content: 「日和字集」乃香港人内木一郎和阿烈开发的True Type Eudc造字档,以兼容香港增补字符集为卖点,增补字集中仍没涵盖的日语假名、日本汉字和日本国字,有细明体、标楷体、中黑体等配合Windows 95、98、NT等操作系统字型的字款,并附有仓颉、速成等输入法作辅助,以及把字集文档转换至日语编码的转码器工具。
title: Unicode补完计划.
content: 「Unicode补完计划」前称「BIG5 Extension」,透过修改Microsoft Windows及Mozilla的编码表,从而使用者能在网上传递及交换文字。  有鉴于「中国海字集」的成功,「Unicode补完计划」第二版采用了「中国海字集」原有的造字,再加上「中国海字集」所欠的部分简体中文字及香港粤语用字,建成一个能在Big5及Unicode之间转换的编码表;该计划目前已推出了64位元测试版。
title: 官方Big5延伸.
title: 中华民国教育部造字档.
content: 中华民国教育部有它本身的一套造字档,主要给部门内使用,亦于教育部的网络字典使用。
title: 中华民国行政院农委会常用中文外字集.
content: 中华民国行政院农业委员会曾制订一套有133个汉字的造字档,其中有84个是鱼字部汉字、7个是鸟字部汉字。
title: Big5+.
content: 1997年中华民国行政院研究发展考核委员会成立专案委托中文数字化技术推广基金会(中推会)办理Big5+扩编计划,使用了两万多码位,纳入了Unicode 1.1下所有汉字。由于编码使用到的范围超过原先Big5定义(Big5+使用了高字节0x81-0xFE,低字节0x40-0x7E、0x80-0xFE),无法安装在Microsoft Windows上,现几乎无人使用。
title: Big-5E.
content: 为了使Microsoft Windows使用者可以使用造字档,中华民国行政院研考会再度委托中推会推出一个补充字集Big-5E(与Big5+并不兼容),共收3954字。因为Big5+的编码限制,再加上Unicode已渐成气候,除了部分政府单位使用之外,Big-5E并没有被广泛的接受。Mac OS X 10.4及以上支援Big-5E。
title: Big5-2003.
content: 鉴于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。
title: 香港增补字符集.
content: 香港增补字符集(Hong Kong Supplementary Character Set,简称HKSCS)是香港政府基于大五码之上扩展的字符集标准,是现时香港的中文资讯交换内码标准。香港增补字符集以前称为《政府通用字库》,本来只是香港政府内部统一使用的造字档,有三千多字。但由于香港电脑业界不断要求政府迎合本地需要,提出官方的字符集方案,以便与政府进行文件来往,于是香港政府便在1995年把这个内部使用的标准公开。到了1999年,此字集增加到四千多字,并改为现名。  此字符集由中文界面咨询委员会管理,仍在不断扩编之中。字符集主要包括香港地名、人名用汉字、粤语用字(包括粗言秽语在内,这是应警方及法庭需要记录口供的需要)、异体字、小部分简体字、平假名、片假名及俄语西里尔字母。
title: 发展.
content: 由于各厂商及政府推出的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为止。

Summary: 大五码(英语:Big5,又称为五大码)是使用繁体中文(正体中文)社群中最常用的电脑汉字字符集标准,共收录13,060个汉字。