中文字符集

义项:中文字符编码集合
中文字符集

中文字符集是计算机用于表示汉字及中文相关符号的一套编码集合,它规定了每个汉字对应的二进制编码值。由于汉字数量庞大,无法用单字节容纳,中文字符集普遍采用双字节或多字节编码。中国大陆先后形成GB2312、GBK、GB18030等国家标准,台湾、香港等繁体中文地区则长期使用大五码,这些字符集互不兼容,是中文信息交换与处理的基础。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

中文字符集是为汉字及中文相关符号设计的一套编码集合,其作用是把每个汉字映射为一个计算机可以存储和处理的数值编码。在计算机内部,英文字符通常由单字节的ASCII编码表示,而汉字数量远多于单字节能够表示的256种状态,因此中文字符集普遍采用双字节或多字节方式编码。[1]

字符集与编码格式是相关但不完全等同的概念。字符集对应码值的集合,而UTF-8、UTF-16等属于这些码值的具体表示与传输形式,GB2312、GBK、大五码等字符集的码值互不相同,同一个汉字在不同字符集中的编码并不一致。

在中文信息处理中,字符集还常被区分为内码与交换码两类。内码用于系统内部存储,交换码用于不同系统之间的信息传递,大五码属于内码,而CNS 11643等属于交换码。[2]

原理

以GB2312为例,为避免与单字节的ASCII编码冲突,规定表示一个汉字的两个字节取值都大于127,即字节最高位为1,前一字节称高字节,后一字节称低字节;取值小于128的字节仍按ASCII解释,因此GB2312向下兼容ASCII。

GB2312对所收汉字采用区位划分方式,每个区含94个位,汉字与符号据此对应到第一字节与第二字节上,这种表示方式称为区位码,由区位码可换算出国标码与机内码。

GB18030在编码结构上采用变长方案,字符可由1个、2个或4个字节组成,单字节部分与ASCII兼容,双字节部分与GBK、GB2312兼容,四字节部分的第二、第四字节使用0x30至0x39作为后缀,编码空间因此扩充到150万个以上码位。[3]

不同字符集之间的转换往往需要借助统一码作中介。例如GBK、GB2312与UTF-8之间不能直接互转,须先转换到Unicode码,再转换为目标编码。

发展历程

1980年,中国国家标准总局发布GB2312《信息交换用汉字编码字符集·基本集》,这是中国首个汉字编码国家标准,1981年5月1日起实施。该标准采用双字节编码,收录6763个汉字和682个符号,其中一级汉字3755个按拼音排序,二级汉字3008个按部首排序,基本满足了当时汉字计算机处理的需要。

在繁体中文地区,台湾财团法人信息产业策进会于1983年12月完成大五码的公告,为五大中文套装软件设计共通内码,共收录13060个汉字。该编码随倚天中文系统等的普及而广泛使用,长期作为业界标准而非官方标准,2003年被收入CNS 11643中文标准交换码附录,形成Big5-2003版本。[2]

由于GB2312收录字符有限,难以处理人名、地名和古籍用字,1995年发布GBK(汉字内码扩展规范),在完全兼容GB2312的基础上把字符集扩展到21886个字符,涵盖繁体字、生僻字和更多符号,并被用作简体中文Windows系统的默认编码。

2000年,强制性国家标准GB18030发布,采用1字节、2字节和4字节的变长编码,在兼容GBK的同时大幅扩展码位,并支持藏文、蒙文、维吾尔文等少数民族文字。[4]

GB18030此后经历多次修订。2022年7月,国家标准化管理委员会、工业和信息化部、国家语言文字工作委员会联合发布新版GB18030-2022,收录汉字87887个,比上一版增收1.7万余个生僻汉字,于2023年8月1日正式实施。[5]

在国际层面,国际标准化组织于1993年发布ISO/IEC 10646国际编码标准的首个版本,为包括繁体与简体中文在内的世界主要语文编订统一内码;香港特区政府在数码21资讯科技策略下采用该标准并制定《香港增补字符集》,以处理本地特有汉字。[6]

应用

中文字符集是中文信息处理与交换的基础。GB2312通行于中国大陆以及新加坡等地使用简体中文的区域,大陆几乎所有的中文系统和国际化软件都对其提供支持。

操作系统层面常以代码页方式指定所用字符集,简体中文版Windows使用代码页CP936,对应GB2312、GBK、GB18030系列编码;繁体中文版使用CP950,对应大五码;多数Linux系统则使用UTF-8本地化环境。[3]

GB18030作为强制标准,用于政府、金融、邮政、户政、地理信息系统等对姓名、地名用字有严格要求的领域,并推动少数民族语言的信息化。[6]

在繁体中文地区,CNS 11643中文标准交换码被纳入政府机关资讯处理共通规范,政府机关公文电子传递须先转换为此码;台湾的户役政全国连线系统也采用了CNS 11643的编码架构及字集。[7]

局限

早期字符集的收录规模有限。GB2312仅含6763个汉字,大五码含13060个汉字,相对《康熙字典》《汉语大字典》所收五六万字,只能覆盖常用部分,未被收录的汉字无法由计算机处理,在录入人名、地名时容易遇到缺字。[1]

多套字符集并存带来互通困难。同一码值在不同字符集中可能代表不同字,简繁两套系统之间还存在一对多、一对零的映射,需要在同一平台上配置多套代码时的切换机制,否则会造成数据被错误解读和乱码。[8]

编码空间的浪费也制约了早期方案的扩展。为避开各字节的0至32和127等控制码,双字节编码体系理论上可容纳65536个字符,实际可用码位被明显压缩。[1]

与统一码的兼容性上,GB2312、GBK等编码仅收录英文字母、数字、汉字及俄文字母等字符,无法表示蒙古语、藏语、维吾尔语、泰语、韩语等多种语言文字,须借助GB18030等经由统一码兼容的方案才能覆盖。[3]

参见

  • GB2312 —— 中国大陆首个汉字编码国家标准,本词条所述字符集体系的早期代表。

  • GBK —— 在GB2312基础上扩展的汉字内码规范,简体中文Windows的默认编码之一。

  • GB18030 —— 现行强制性中文编码字符集国家标准,支持汉字与少数民族文字。

  • 大五码 —— 繁体中文地区常用的汉字字符集标准。

  • Unicode —— 容纳世界多种文字的通用编码方案,是各中文字符集转换的中介。

  • CNS 11643 —— 繁体中文的官方交换码标准。

词条评价
词条统计

浏览次数:1 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T21:42:28Z

历史版本

本条目引用的词条
GB2312 GBK GB18030 大五码 Unicode CNS 11643