最后更新:
汉字笔画数与字符数的奇妙关系 - 一个字竟然有 84 画
将三个“雷”叠在一起的汉字“靐”有 39 画。四个"龍"组成的"𪚥"有 64 画。而日本笔画数最多的汉字"taito"更是达到了惊人的 84 画。然而,在字符计数中,这些汉字全部算作"1 个字符"。1 画的"一"和 84 画的"taito"同样是 1 个字符。本文将深入探讨汉字笔画数与字符计数的关系,涵盖 Unicode 中汉字的收录数量以及异体字的运作机制。
笔画数最多的汉字排行榜
汉字的笔画数理论上没有上限。由于可以将现有汉字组合成新字,笔画数可以无限增加。不过,如果仅限于有实际使用记录的汉字,排行榜如下。
笔画数多的汉字大多具有"理义字"结构,即由相同汉字重复组合而成。"森"(木 × 3 = 12 画)、"轟"(車 × 3 = 21 画)、"靐"(雷 × 3 = 39 画),通过将相同部件叠加 2 至 4 次,笔画数成倍增长。这种结构通常表达"大量的""激烈的"等强调含义,作为造字方法自古就已存在。
| 汉字 | 笔画数 | 读音 | 构成 | Unicode 收录 |
|---|---|---|---|---|
| 𱁬 | 84 画 | taito、daito、otodo | 3 个雲 + 3 个龍 | 已收录 (U+3106C、Unicode 13.0 新增) |
| 𪚥 | 64 画 | tetsu、techi | 龍 × 4 | 已收录 (U+2A6A5) |
| 𰻞 | 58 画 | byan | 用于书写陕西面食“biangbiang 面”的名称 | 已收录 (U+30EDE、Unicode 13.0 新增) |
| 靐 | 39 画 | hyō | 雷 × 3 | 已收录 (U+9750) |
| 鑱 | 25 画 | san、zan | 金 + 毚 | 已收录 (U+9471) |
| 鬱 | 29 画 | utsu | 常用汉字中笔画最多 | 已收录 (U+9B31) |
这个 84 画的字常被说成曾作为姓氏使用,但在辞典和公开记录中都找不到可以核实的依据。从字符编码的角度看,它已在 Unicode 13.0 (2020 年) 随扩展 G 收录于 U+3106C,因此只要有对应字体,就能作为一个字符显示出来。64 画的“𪚥”同样如此。反过来说,未被 Unicode 收录的汉字根本无法作为文本输入或保存,只能以图片形式呈现。
在日本 2,136 个常用汉字中,笔画最多的是“鬱”,共 29 画。它是在 2010 年常用汉字表修订 (平成 22 年内阁告示第 2 号) 时新增的,而在针对修订草案征集到的意见中,它是被要求删除的呼声最多的一个字。不过常用汉字表的选定标准并不是笔画少,而是这个字在日常书写中有多必要。这正是一个 29 画的字仍能入表的原因。
常用汉字的笔画分布
观察 2,136 个常用汉字的笔画分布,可以看出日本日常使用汉字的"标准复杂度"。
| 笔画区间 | 字数 | 占比 | 代表汉字 |
|---|---|---|---|
| 1-4 画 | 117 字 | 5.5% | 一、二、人、大、中、日 |
| 5-8 画 | 575 字 | 26.9% | 生、出、本、学、国、物 |
| 9-12 画 | 843 字 | 39.5% | 食、海、通、動、朝、森 |
| 13-16 画 | 478 字 | 22.4% | 話、歴、様、線、機、橋 |
| 17-20 画 | 113 字 | 5.3% | 曜、類、議、識、観、競 |
| 21 画以上 | 10 字 | 0.5% | 欄、露、鶴、籠、驚、鬱 |
9-12 画的汉字最多,占总数的约 39.5%。平均笔画数约为 10.4 画。也就是说,日语文章中使用的汉字平均复杂度约为 10 画。达到 21 画以上的只有 10 个字:“欄”“躍”“露”“顧”“鶴”(21 画)、“籠”“襲”“鑑”“驚”(22 画) 和“鬱”(29 画)。
需要说明的是,同一个字在不同辞典之间有时会相差 1 画。这里统计的范围是常用汉字表 (2010 年内阁告示) 所列的 2,136 个字,笔画数一律采用 Unicode 汉字属性给出的总笔画值。
9-12 画之所以成为峰值,可以从汉字的造字方法得到解释。占比最大的是形声字,即一半表意、一半表音的组合。表意的部首一侧通常为 3 至 4 画,表音一侧为 6 至 8 画,两者相加正好落在这个区间。笔画太少的字容易彼此混淆 (“未”与“末”、“己”与“已”),而过于密集的字写起来和读起来都是负担。日常汉字集中在这一带,既是造字机制的结果,也是使用便利性的结果。
笔画再多,字节数也一样 - Unicode 的平等性
这是从字符计数角度来看最重要的一点。无论汉字笔画多少,字符数与字节数的关系都不会改变。
| 汉字 | 笔画数 | Unicode 码位 | UTF-8 字节数 | UTF-16 字节数 |
|---|---|---|---|---|
| 一 | 1 画 | U+4E00 | 3 字节 | 2 字节 |
| 鬱 | 29 画 | U+9B31 | 3 字节 | 2 字节 |
| 靐 | 39 画 | U+9750 | 3 字节 | 2 字节 |
| 𪚥 | 64 画 | U+2A6A5 | 4 字节 | 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.0.1 | 1992 年 | 20,902 字 | 基本区 (汉字统一的起点) |
| 3.0 | 1999 年 | 27,484 字 | 扩展 A (6,582 字) |
| 3.1 | 2001 年 | 70,195 字 | 扩展 B (42,711 字) |
| 5.2 | 2009 年 | 74,382 字 | 扩展 C (4,149 字) |
| 8.0 | 2015 年 | 80,376 字 | 扩展 E (5,762 字) |
| 10.0 | 2017 年 | 87,870 字 | 扩展 F (7,473 字) |
| 13.0 | 2020 年 | 92,844 字 | 扩展 G (4,939 字) |
| 15.1 | 2023 年 | 97,668 字 | 扩展 H (4,192 字、在 15.0 收录) + 扩展 I (622 字) |
| 17.0 | 2025 年 | 101,984 字 | 扩展 J (4,298 字) |
累计一列是基本区与各扩展区 (扩展 A 至 J) 的合计。它的增幅通常略大于同一行的新增字数,因为基本区本身在多数版本中也会增加少量汉字。还有一处容易混淆:位于兼容区却按统一汉字处理的 12 个字,如果把它们计入,每一行的数值都会多出 12。这就是同一个版本有时被引作“97,668 字”、有时被引作“97,680 字”的原因。
从 1992 年 Unicode 1.0.1 的约 2 万字,到 2025 年 Unicode 17.0 的约 10 万字,30 多年间增长了约 5 倍。然而,日常使用的汉字在日语中约 3,000 字,在简体中文中约 3,500 字。其余 9 万多字是用于古典文献、方言和历史异体字的稀有汉字。
异体字选择器 (IVS) - 同一个字拥有多种字形的机制
让汉字字符计数更加复杂的是异体字选择器 (IVS: Ideographic Variation Sequence) 的存在。IVS 通过在基础字符后附加异体字选择器 (U+E0100-U+E01EF) 来区分同一汉字的不同字形 (异体字)。
这里需要先分清两件事。“辺”“邊”“邉”虽然是同一个字的不同写法,但它们各自拥有独立的 Unicode 码位 (U+8FBA、U+908A、U+9089),所以互相切换并不需要 IVS。IVS 处理的是更细的层次:同一个码位之下,字形上有细微差别而又需要区分的写法,例如户籍上“邊”的多种笔形。这类差别如果只靠码位来表示,就必须为每一种笔形都新增一个字,因此 Unicode 选择了在基础字符后附加选择器的做法。
使用 IVS 时,看起来是 1 个字符,但数据上消耗了基础字符 + 异体字选择器共 2 个码位。这与表情符号的字符计数中"一个表情符号由多个码位组成"的结构相同。
| 基础字符 | 异体字选择器 | 显示字形 | 码位数 | 用途 |
|---|---|---|---|---|
| 辺 (U+8FBA) | VS17 (U+E0100) | 辺 的异体字 1 | 2 | 户籍姓名 |
| 辺 (U+8FBA) | VS18 (U+E0101) | 辺 的异体字 2 | 2 | 户籍姓名 |
| 葛 (U+845B) | VS17 (U+E0100) | 葛 的异体字 | 2 | 地名 (葛飾区 vs 葛城市) |
| 祇 (U+7947) | VS17 (U+E0100) | 祇 的异体字 | 2 | "祇園"中"祇"的准确字形 |
某些字符计数工具会将带 IVS 的汉字计为"2 个字符"。人眼看到的是 1 个字符,程序却识别为 2 个。这种不一致在姓名输入表单和地址数据库系统中确实引发了问题。
姓名用汉字的限制与字符数
在日本,儿童姓名可使用的汉字受法律限制。规则本身写在两处:户籍法第 50 条规定“子女的名字应当使用常用平易的文字”,而“常用平易”具体指哪些字,则由户籍法施行规则第 60 条逐项列举:常用汉字表所载的汉字、该规则附表第二所列的汉字 (即通称的“人名用汉字”),以及片假名和平假名。因此可用字的范围会随着这两份表的修订而变化,把它当作一个固定不变的清单来记会有风险。
姓名的字符数本身没有法律限制,但实际操作中存在户籍系统的制约。各市区町村的户籍系统能处理的字符范围不同,异体字和旧字体的处理方式因自治体而异。
近年最值得注意的变化是读音本身进了户籍。修订后的户籍法第 13 条把“姓名的读音假名”列为户籍的记载事项,该条自 2025 年 5 月 26 日起施行。也就是说,此前只以汉字字形登记的姓名,如今连读音都成为登记内容。对于处理姓名数据的系统而言,这意味着需要成对保存的字段增加了一组,而字形与读音各自的字符范围又不相同。
笔画数与教育 - 学年分配汉字的设计理念
日本小学教授的 1,026 个教育汉字按年级分配。分配不仅考虑笔画数,还考虑使用频率和概念难度,但与笔画数的相关性十分明显。
| 年级 | 分配字数 | 累计字数 |
|---|---|---|
| 一年级 | 80 字 | 80 字 |
| 二年级 | 160 字 | 240 字 |
| 三年级 | 200 字 | 440 字 |
| 四年级 | 202 字 | 642 字 |
| 五年级 | 193 字 | 835 字 |
| 六年级 | 191 字 | 1,026 字 |
这张表的数字来自学习指导要领的学年别汉字配当表,2017 年 (平成 29 年) 修订后,四年级增加“茨”“媛”等都道府县名用字,总数成为 1,026 字。低年级的字确实以简单字形为多,但配当的依据并不是笔画数本身,而是这个字在该年级的教材和生活中出现得有多频繁,以及它所表达的概念能否被理解。因此“晴”“曜”这类笔画不算少的字会出现在二年级,而笔画很少的“亡”“己”反倒排在高年级。
笔画数与手写输入 - 数字时代的笔画难题
在智能手机和平板电脑的手写输入上,笔画数带来的困难是结构性的。屏幕上可供书写的面积是固定的,笔画越多,每一笔能占到的空间就越小,相邻的笔画容易黏在一起或者互相穿过。手指的接触面又比笔尖宽得多,短笔画的起止位置本身就带有误差。也就是说,问题不在于笔画多的字“难认”,而在于书写者能交出的信息量随笔画增加而下降。
能在智能手机上用手写输入准确写出“鬱”(29 画) 的人恐怕不多。这类字更实际的做法是绕开逐笔书写:用读音输入再转换,或者从部首检索里挑选。各家输入法的识别做法不公开,能确定的只是使用者一侧的经验,即笔画数越大,重写的次数越多。
这个问题也与表单输入验证设计相关。当姓名输入表单接受手写输入时,考虑高笔画汉字误识别的 UI 设计 (如显示候选列表、提供读音转换选项等) 至关重要。特别是在政务在线申请中,需要输入户籍上准确的字形,手写识别的精度直接影响用户体验。
两种输入方式的差别,可以从它们各自与笔画数的关系来理解。手写要把每一笔都画出来,所需时间随笔画数增加;而读音输入敲下的是假名或拼音的按键数,与目标汉字有多少笔画无关。因此字形越复杂,读音输入相对越省力。这并不是某项测量的结论,而是两种方式的构造本身决定的。反过来说,读音不确定的姓名或地名,手写和部首检索仍然是无法替代的入口。
笔画数与字符计数的实务启示
从汉字笔画数与字符数的关系中得到的实务启示是:"视觉复杂度与数据大小是两回事"。正如全角与半角的区别一样,字符的外观与数据层面的处理并不总是一致的。
设计 Web 表单的字符数限制时,将"1 个汉字 = 1 个字符"是通常做法,但考虑到带 IVS 的汉字和代理对,实现并没有那么简单。特别是在姓名输入表单中,能否正确处理异体字直接关系到用户体验。
84 画的汉字和 1 画的汉字,在字符计数中同样是"1 个字符"。这种平等性正是 Unicode 的设计理念 - 统一处理全球所有文字的基础。超越笔画这一物理复杂度,在数字世界中所有字符被平等对待。这既是 Unicode 的美妙之处,有时也是令人头疼之处。
笔画数在书法和教育领域是重要指标,但在数字字符计数中被完全忽略。1 画的"一"和 29 画的"鬱",在 Slack 消息中都算 1 个字符,在 LINE 消息中也是 1 个字符。这种"笔画的民主化"可以说是数字通信给汉字文化圈带来的重大变革之一。