汉字笔画数与字符数的奇妙关系 - 一个字竟然有 84 画

约 8 分钟阅读

将三个"雲"叠在一起的汉字"靐"有 39 画。四个"龍"组成的"𪚥"有 64 画。而日本笔画数最多的汉字"taito"更是达到了惊人的 84 画。然而,在字符计数中,这些汉字全部算作"1 个字符"。1 画的"一"和 84 画的"taito"同样是 1 个字符。本文将深入探讨汉字笔画数与字符计数的关系,涵盖 Unicode 中汉字的收录数量以及异体字的运作机制。

笔画数最多的汉字排行榜

汉字的笔画数理论上没有上限。由于可以将现有汉字组合成新字,笔画数可以无限增加。不过,如果仅限于有实际使用记录的汉字,排行榜如下。

笔画数多的汉字大多具有"理义字"结构,即由相同汉字重复组合而成。"森"(木 × 3 = 12 画)、"轟"(車 × 3 = 21 画)、"靐"(雷 × 3 = 39 画),通过将相同部件叠加 2 至 4 次,笔画数成倍增长。这种结构通常表达"大量的""激烈的"等强调含义,作为造字方法自古就已存在。

汉字笔画数读音构成Unicode 收录
Taito (雲×3 + 龍×3)84 画taito、daito、otodo3 个雲 + 3 个龍未收录
𪚥64 画tetsu、techi龍 × 4已收录 (U+2A6A5)
𱁬57 画byan陕西省面食名称Unicode 13.0 新增
39 画hyō雷 × 3已收录 (U+9750)
31 画san、zan金 + 毚已收录 (U+9471)
29 画utsu常用汉字中笔画最多已收录 (U+9B31)

84 画的"taito"据说曾作为姓氏使用,但未被 Unicode 收录,也就是说无法在计算机上显示为一个字符。而 64 画的"𪚥"已被 Unicode 收录,只要有对应字体就能在屏幕上显示。

在日本 2,136 个常用汉字中,笔画最多的是"鬱",共 29 画。"鬱"在 2010 年常用汉字表修订时被新增,但因其笔画之多,引发了"这真的算常用吗"的争议。

常用汉字的笔画分布

观察 2,136 个常用汉字的笔画分布,可以看出日本日常使用汉字的"标准复杂度"。

笔画区间字数占比代表汉字
1-4 画约 160 字7.5%一、二、人、大、中、日
5-8 画约 620 字29%生、出、本、学、国、物
9-12 画约 730 字34%食、海、読、意、新、電
13-16 画约 440 字21%話、歴、機、環、職、臨
17-20 画约 150 字7%題、類、議、識、覧、競
21 画以上约 36 字1.7%鑑、驚、鬱、露、魔、籠

9-12 画的汉字最多,占总数的约 34%。平均笔画数约为 10.3 画。也就是说,日语文章中使用的汉字平均复杂度约为 10 画。

这一分布反映了人类认知能力与书写能力之间的平衡。笔画太少则难以区分 ("一""二""三"容易混淆),太多则书写困难。9-12 画这个"恰到好处的复杂度",是能够最高效表达最多概念的最佳区间。

笔画再多,字节数也一样 - Unicode 的平等性

这是从字符计数角度来看最重要的一点。无论汉字笔画多少,字符数与字节数的关系都不会改变。

汉字笔画数Unicode 码位UTF-8 字节数UTF-16 字节数
1 画U+4E003 字节2 字节
29 画U+9B313 字节2 字节
39 画U+97503 字节2 字节
𪚥64 画U+2A6A54 字节4 字节 (代理对)

CJK 统一汉字基本区 (U+4E00-U+9FFF) 中收录的汉字,无论笔画多少,UTF-8 均为 3 字节,UTF-16 均为 2 字节。64 画的"𪚥"收录在扩展 B 区 (U+20000-U+2A6DF),因此 UTF-8 为 4 字节,UTF-16 为代理对 (4 字节)。

也就是说,笔画数不影响字节数。真正起决定作用的是该字符被收录在 Unicode 的哪个区块。基本区汉字为 3 字节,扩展区汉字为 4 字节。这一差异取决于汉字被收录进 Unicode 的时间,而非笔画数。

CJK 统一汉字收录数量的变迁

Unicode 中收录的汉字数量随着版本更新不断增长。正如Unicode 基础知识中所介绍的,Unicode 是统一处理全球文字的标准,而汉字的收录是其中规模最大的工程之一。

Unicode 版本发布年份CJK 统一汉字累计新增数量
1.01991 年20,902 字20,902 字 (初始收录)
3.12001 年47,035 字扩展 A + B 大幅新增
5.22009 年51,110 字扩展 C 新增
8.02015 年80,388 字扩展 E 新增
13.02020 年92,856 字扩展 G 新增
15.12023 年97,680 字扩展 H + I 新增
16.02024 年超过 99,000 字扩展 J 新增

从 1991 年 Unicode 1.0 的约 2 万字,到 2024 年 Unicode 16.0 的约 9.9 万字,30 多年间增长了约 5 倍。然而,日常使用的汉字在日语中约 3,000 字,在简体中文中约 3,500 字。其余 9 万多字是用于古典文献、方言和历史异体字的稀有汉字。

异体字选择器 (IVS) - 同一个字拥有多种字形的机制

让汉字字符计数更加复杂的是异体字选择器 (IVS: Ideographic Variation Sequence) 的存在。IVS 通过在基础字符后附加异体字选择器 (U+E0100-U+E01EF) 来区分同一汉字的不同字形 (异体字)。

例如,"辺"这个汉字有"邊""邉""辺"等多种字形。为了在户籍中显示准确的字形,就会使用 IVS。据说日本户籍中登记了约 6 万种汉字字形,其中许多无法用标准 Unicode 汉字表示。

使用 IVS 时,看起来是 1 个字符,但数据上消耗了基础字符 + 异体字选择器共 2 个码位。这与表情符号的字符计数中"一个表情符号由多个码位组成"的结构相同。

基础字符异体字选择器显示字形码位数用途
辺 (U+8FBA)VS17 (U+E0100)辺 的异体字 12户籍姓名
辺 (U+8FBA)VS18 (U+E0101)辺 的异体字 22户籍姓名
葛 (U+845B)VS17 (U+E0100)葛 的异体字2地名 (葛飾区 vs 葛城市)
祇 (U+7947)VS17 (U+E0100)祇 的异体字2"祇園"中"祇"的准确字形

某些字符计数工具会将带 IVS 的汉字计为"2 个字符"。人眼看到的是 1 个字符,程序却识别为 2 个。这种不一致在姓名输入表单和地址数据库系统中确实引发了问题。

姓名用汉字的限制与字符数

在日本,儿童姓名可使用的汉字受法律限制。户籍法施行规则规定的"人名用汉字"加上常用汉字,共约 2,999 字可用于姓名。

姓名的字符数本身没有法律限制,但实际操作中存在户籍系统的制约。各市区町村的户籍系统能处理的字符范围不同,异体字和旧字体的处理方式因自治体而异。

2024 年引发关注的是个人编号卡 (My Number Card) 的姓名栏字符数限制。由于卡片物理空间的制约,姓名最多只能印刷约 15 个汉字。较长的姓名可能会被缩写,这是"物理字符限制"在现代仍然造成问题的实例。

笔画数与教育 - 学年分配汉字的设计理念

日本小学教授的 1,026 个教育汉字按年级分配。分配不仅考虑笔画数,还考虑使用频率和概念难度,但与笔画数的相关性十分明显。

年级分配字数平均笔画数笔画最多的汉字笔画数
一年级80 字约 4.5 画12 画
二年级160 字约 6.8 画18 画
三年级200 字约 8.2 画16 画
四年级202 字约 9.5 画20 画
五年级193 字约 10.1 画20 画
六年级191 字约 11.3 画19 画

一年级平均笔画约 4.5 画,六年级约 11.3 画,随年级升高而递增。这是根据儿童手部精细动作和认知能力的发展阶段而设计的。不在一年级教"鬱"(29 画) 是基于书写能力发展阶段的合理决策。

笔画数与手写输入 - 数字时代的笔画难题

在智能手机和平板电脑的手写输入中,笔画数直接影响识别准确率。笔画越多的汉字,在小屏幕上准确书写越困难,误识别率越高。一般来说,1-5 画的汉字识别率保持在 95% 以上,但 16-20 画时降至 75-85%,21 画以上可能低于 70%。

能在智能手机上用手写输入准确写出"鬱"(29 画) 的人恐怕不多。实际上,手写识别引擎对高笔画汉字进行了特殊处理。它不仅学习笔画顺序和方向,还学习部首组合模式,即使输入不完整也能推测出正确的汉字。近年来基于深度学习的手写识别引擎即使对复杂汉字也能达到较高识别率,但对于"鬱"这样的汉字,切换到部首检索或拼音输入仍然更为可靠。

这个问题也与表单输入验证设计相关。当姓名输入表单接受手写输入时,考虑高笔画汉字误识别的 UI 设计 (如显示候选列表、提供读音转换选项等) 至关重要。特别是在政务在线申请中,需要输入户籍上准确的字形,手写识别的精度直接影响用户体验。

有趣的是,研究表明笔画越多的汉字,"拼音输入 → 转换"的效率越高于手写。10 画以下的汉字手写可能更快,但超过 15 画后,拼音输入的速度优势就变得压倒性的。这是因为人类手写速度随笔画数成比例下降,而拼音输入的转换速度与笔画数无关。

笔画数与字符计数的实务启示

从汉字笔画数与字符数的关系中得到的实务启示是:"视觉复杂度与数据大小是两回事"。正如全角与半角的区别一样,字符的外观与数据层面的处理并不总是一致的。

设计 Web 表单的字符数限制时,将"1 个汉字 = 1 个字符"是通常做法,但考虑到带 IVS 的汉字和代理对,实现并没有那么简单。特别是在姓名输入表单中,能否正确处理异体字直接关系到用户体验。

84 画的汉字和 1 画的汉字,在字符计数中同样是"1 个字符"。这种平等性正是 Unicode 的设计理念 - 统一处理全球所有文字的基础。超越笔画这一物理复杂度,在数字世界中所有字符被平等对待。这既是 Unicode 的美妙之处,有时也是令人头疼之处。

笔画数在书法和教育领域是重要指标,但在数字字符计数中被完全忽略。1 画的"一"和 29 画的"鬱",在 Slack 消息中都算 1 个字符,在 LINE 消息中也是 1 个字符。这种"笔画的民主化"可以说是数字通信给汉字文化圈带来的重大变革之一。

想更深入了解汉字和字符编码的世界,相关书籍也很有参考价值 (搜索汉字书籍 (Amazon))。

分享这篇文章