全字库 CNS11643 的 CNS 查询与 Unicode 查询有什么不同?
结论先说:CNS 查询和 Unicode 查询查的是同一个汉字,区别在于用哪套编码体系来定位和显示这个字。如果你手上有的是 CNS 码(例如 1-6651),用 CNS 查询;如果你手上的是 Unicode 码位(例如 U+88D8),用 Unicode 查询。两者在多数常用字上能互相查到,但遇到罕用字、异体字或不同字面版本时,结果可能不完全对应。
两套编码体系的基本差异
CNS 11643 是台湾地区制定的汉字编码标准,全字库(cns11643.gov.tw)就是围绕这套标准建置的字码资料库。Unicode 则是国际通用的字符编码标准,涵盖范围更广,不只汉字。
| 对比维度 | CNS 查询 | Unicode 查询 |
|---|---|---|
| 编码体系 | 台湾 CNS 11643 标准 | 国际 Unicode 标准 |
| 码的形态 | 字面号 + 码位,如 1-6651 | 码位,如 U+88D8 |
| 主要用途 | 台湾地区中文系统、户政姓名用字 | 跨平台、跨语言的通用文本处理 |
| 覆盖侧重 | 依字面分层收录,含大量罕用字与异体字 | 以国际统一码位收录,部分罕用字可能落在扩展区 |
全字库首页的「字码查询」区同时列出了 CNS 查询、Unicode 查询、Big5 查询、注音查询、笔画查询、仓颉查询等多种入口,说明这些查询方式是并列的,各自对应不同的输入条件。
同一个字在两种查询下的对应关系
以首页「每日一字」展示的「裘」为例,它给出的 CNS 码是 1-6651。这个字在 Unicode 里同样有对应码位。也就是说:
- 用 CNS 查询输入 1-6651,能查到「裘」及其字形资讯;
- 用 Unicode 查询输入该字对应的 Unicode 码位,也能查到同一个字。
对应关系不是永远一一对等。CNS 11643 按字面分层(第 1 字面为常用字,后续字面收录次常用、罕用、异体等),同一个 Unicode 码位在不同字面可能对应不同字形版本;反过来,一个 CNS 码也可能对应到 Unicode 的某个码位,但字形呈现依字库版本而异。全字库的「最新消息」里就有多则「字形新增异动公告」和「字形调整与新增清单」,说明字形本身会随版本调整。
怎么选:按你手上的码来决定
- 手上有 CNS 码(例如从台湾地区公文、户政系统、旧资料库导出):用 CNS 查询。
- 手上有 Unicode 码位(例如从网页源码、程序编码、国际文档中取得):用 Unicode 查询。
- 只有字形、不知道任何码:改用注音查询、笔画查询、仓颉查询、部首查询或 IDS(部件组合)查询来反查。
- 要处理台湾地区姓名用字、户政罕用字:优先用 CNS 查询,因为这类字在 CNS 的字面分层里有专门收录,公告中也提到「增编 2 个字形(户政姓名用字)」。
- 要做跨平台、跨语言的文本处理:以 Unicode 查询的结果为准。
查询时的常见卡点
- 码的格式别写错:CNS 码通常写成「字面号-码位」,如 1-6651;Unicode 码位通常写成 U+ 加十六进制,如 U+88D8。格式不对会查不到。
- 罕用字可能只在某一侧查得到:部分异体字、罕用字在 CNS 里有收录,但 Unicode 对应关系需要确认;反之亦然。
- 字形会更新:全字库会发布字形新增与调整公告,同一码位在不同时间查到的字形可能不同,做长期专案时要记录查询时的版本或日期。
- 查询入口不止两个:首页还提供 Big5 查询、拼音查询、符号索引、拼音文字索引,以及「教育部本土语言参考字表」和「政府资料开放平台-全字库资料集」,需要批量或程式化取用时可以走开放资料集。
简单记:CNS 查询认台湾标准码,Unicode 查询认国际码位;有哪个码就用哪个查询,没有码就用字形类查询反查。