最后更新:

世界上最短和最长的单词 - 各语言字数的极端世界

约 9 分钟阅读

蛋白质"肌联蛋白"的化学名称长达 189,819 个字符,仅朗读就需要约 3 小时 30 分钟,而且它并未收录在任何英语词典中。另一方面,世界上也存在仅由 1 个字符构成的单词。从字数的角度审视世界各语言,可以看到人类以多么多样的方式压缩和展开意义。本文将以具体字数介绍各语言中最短和最长的单词,深入探索字数的惊奇世界。

世界上最短的单词

"1 个字符就能表达意义的单词"实际上存在于许多语言中。英语的"I"(我) 和"a"(一个) 是众所周知的例子,但日语更为极端。"目""手""歯""火""木"等汉字,单个字符就是完整的单词。平假名中"え"(画)、"き"(树)、"め"(眼) 也能作为单字符单词成立。

中文更是如此,几乎所有汉字都能作为独立的单字符单词发挥作用。"人""大""水""山"这样用 1 个字符完成概念表达的语言设计,在思考字符与字节的关系时也是一个有趣的特征。

语言最短单词示例字数含义备注
英语I, a1 字符我 / 一个大写 I 为 1 字节
日语 (汉字)目、手、火1 字符眼、手、火UTF-8 中为 3 字节
中文人、大、水1 字符人、大、水几乎所有汉字都是单字符词
韩语나 (na)1 字符我1 个韩文字符 = UTF-8 中 3 字节
越南语ở1 字符住带声调符号的 1 个字符

值得注意的是,"1 个字符"的信息密度因语言而大不相同。英语的"a"是 1 字节,而日语的"目"在 UTF-8 中是 3 字节。同样是"1 个字符",计算机处理的数据量相差 3 倍。这与全角与半角的区别影响字数计算是同样的结构。

欧洲语言的长单词 - 德语的复合词文化

德语被称为"复合词之王"。名词可以无限连接创造新词,理论上可以生成无限长的单词。实际在法律文件和行政文件中使用的超长单词,即使是德语母语者也无法一次读完。

单词字数含义使用场景
Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft80 字符多瑙河蒸汽船电力事业总工厂建设下级官员协会1972 年版吉尼斯世界纪录大全收录为"德语中公开出版的最长单词"(收录时按旧正字法记为 79 字符)
Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz63 字符牛肉标签监管任务委托法1999 年制定、2013 年废除的州法名称 (梅克伦堡-前波美拉尼亚州)
Kraftfahrzeughaftpflichtversicherung36 字符机动车责任保险日常使用的复合词
Rechtsschutzversicherungsgesellschaften39 字符法律保护保险公司 (复数)商务文件中常见

2013 年,德国梅克伦堡-前波美拉尼亚州废除了 63 字符的法律名"Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz"。这是一部疯牛病对策法律,因欧盟法规变更而不再需要。其废除以"德语中最长的单词消失了"为标题成为新闻。

芬兰语也是产生长单词的语言。"lentokonesuihkuturbiinimoottoriapumekaanikkoaliupseerioppilas"(61 字符) 意为"飞机喷气涡轮发动机辅助维修士下士候补生"。英语维基百科的长单词列表把它列为芬兰语中实际使用过的长单词的例子。

世界最长的地名 - 字数排名

地名的世界中也存在字数极端的例子。新西兰一座山丘的毛利语名称有 85 个字符。泰国首都曼谷的正式名称更长,以 168 字符作为"世界最长的地名"收录于吉尼斯世界纪录。

地名字数所在地语言
Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu85 字符新西兰毛利语
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch58 字符威尔士 (英国)威尔士语
กรุงเทพมหานคร... (曼谷正式名称)168 字符 (拉丁转写)泰国泰语
Chargoggagoggmanchauggagoggchaubunagungamaugg45 字符马萨诸塞州 (美国)阿尔冈昆语源

新西兰那座山丘的名称意为"大膝盖的塔马特亚在山间滑行、攀登、吞咽,为爱人吹笛的地方"。毛利文化有将发生的事件直接作为地名的传统,因此产生了超长地名。

相反,地名也会向极短的一端摆动。挪威语、丹麦语、瑞典语中的"å"是意为"小溪"的单词,会直接作为地名的构成要素出现。极短的地名会带来另一类问题:在搜索框里输入也无法收窄候选,还可能被数据库的最小字数校验挡下,从与 URL 字数限制相反的意义上困扰着开发者。

化学物质名 - 字数的极致

"世界最长的单词"之所以没有唯一答案,是因为把什么算作单词会改变结果。是只限词典收录的词条,还是把地名和法律名也算进来,甚至把按规则机械生成的化学名也计入。基准不同,立起来的记录也不同。在化学领域,IUPAC 命名法根据分子结构命名,因此分子越大名称越长。蛋白质"肌联蛋白"(titin) 的化学名达到 189,819 字符,被称为"世界最长的单词"。

不过,这个化学名未收录在词典中,是否承认它为"单词"存在争议。它是按照 IUPAC 命名法机械生成的名称,没有人在日常中使用。据说朗读需要约 3 小时 30 分钟,YouTube 上也有实际朗读的视频。

名称字数类型是否收录词典
肌联蛋白的化学名189,819 字符蛋白质否
floccinaucinihilipilification29 字符英语单词 (非化学名,1741 年已有用例)是 (英语词典)
Pneumonoultramicroscopicsilicovolcanoconiosis45 字符肺部疾病 (与硅肺病相同)是 (英语词典)
Supercalifragilisticexpialidocious34 字符电影造词部分词典

主要英语词典中收录的最长单词是"Pneumonoultramicroscopicsilicovolcanoconiosis"(45 字符),指因吸入火山来源的极细硅酸微粒而引起的肺部疾病。不过从医学上看,它指的就是既有的"硅肺病 (silicosis)",这个词本身是为了"造出英语中最长的单词"而刻意造出来的。若把专业术语排除在外,最长的词是 29 字符的"floccinaucinihilipilification"(把某物估为毫无价值的行为),它的使用例可以追溯到 1741 年。

日语中最长的词 - 汉字词汇与读音的世界

日语中最长的复合词是什么?在汉字世界中,四字成语很常见,但也存在更长的复合词。佛教术语有"南無妙法蓮華経"(7 字) 这样的长词,法律术语也有"不動産登記事項証明書"(10 字,不动产登记事项证明书) 这样的长复合词。

从读音长度来看,日语单词展现出更有趣的特征。单个汉字读音很长的例子有"承る"(谦恭地接受),去掉送假名后仅"承"这一个字就读作 uketamawa,有 5 个音节,整个词 uketamawaru 则是 6 个音节。"志"(kokorozashi,志向) 也是 1 个汉字读作 5 个音节。反过来,"一昨昨日"(sakiototoi,大前天) 用了 4 个汉字,读音却只有 6 个音节。字数与音数的比例因词而异,这正是日语的特征。

这种"字数与信息量的不匹配"也是日语用户在 X (Twitter) 字数限制内能比英语用户传达更多信息的原因。压缩在单个汉字中的意义密度与字母语言有着根本性的不同。

编程语言的标识符长度限制

不仅是自然语言,编程语言也有"单词长度"的限制。变量名和函数名 (标识符) 的最大长度因语言而异,作为实际约束影响着开发者。

语言标识符最大长度实际推荐备注
C (C99)63 字符 (有效)20-30 字符超过 63 字符不会产生语法错误
Java语言规范未设限制20-40 字符类文件格式一侧存在长度上限
Python无限制20-30 字符PEP 8 推荐简洁
JavaScript无限制15-30 字符压缩时会被缩短
SQL (标准)128 字符30 字符以内因 RDBMS 而异
COBOL31 字符31 字符用户自定义词的长度上限

COBOL 的用户自定义词最长为 31 字符,可以包含字母、数字、连字符和下划线。上限被明确写进语言规范这一点,与现代语言有很大不同。现代语言事实上没有限制,但变量名和函数名的推荐长度为 20-30 字符,这是基于人类可读性的限制。

每个字符的信息密度 - 能算出来的只是上限

基于前面介绍的最短和最长单词,来想一想"每个字符的信息密度"。从信息论的角度看,1 个字符能传达的信息量会因文字体系而差出一个量级。

这里能算出来的是"上限"。假设某种文字体系有 N 种字符,而且全部等概率出现,那么 1 个字符能运载的信息量就是 log2 N 比特。字母 26 种约为 4.7 比特,韩文音节 11,172 种约为 13.4 比特,日常使用的汉字即使只按数千字来算也约有 11 比特。字符的种类越多,1 个字符能区分的含义就越多,这是个很简单的道理。

对象字符种类数 N每字符信息量上限 (log2 N)100 字符的上限说明
英语字母26约 4.7 比特约 470 比特假设全部等概率出现时的上限 (对每字符上限的单纯乘算)
韩文音节11,172约 13.4 比特约 1,340 比特把 1 个音节整体算作 1 个字符
日常使用的汉字数千约 11 比特约 1,100 比特把多少汉字算进来会改变结果
上限之间的比值不适用11.2 ÷ 4.7 ≒ 2.4不适用只是上限的比,不等于实际表现力的比
实际的文章不适用低于上限低于上限字符出现频率有很大偏差 (英语的 e、t,日语的"の""い")

把上限与上限相比,1 个汉字能运载的信息量约为 1 个字母的 2 倍多 (11.2 ÷ 4.7 ≒ 2.4)。不过实际的文章里字符出现频率偏差很大 (英语的 e 和 t,日语的"の""い"格外突出),因此每个字符的平均信息量会小于这个上限。上限的比值并不会直接等于实际表现力的比值,这一点需要记住。

从数据量的角度看,只盯着字数同样会看错实像。UTF-8 中汉字、平假名、韩文字符每个占 3 字节,字母只占 1 字节,所以即使字数上有 2 倍的差距,字节数也可能反过来。再经过 gzip 之类的压缩,重复多的文章会缩得更多,因此压缩后的大小更多取决于文章怎么写,而不是取决于语言。

字数限制与语言公平性

社交媒体和表单的字数限制通常以"字数"统一。然而,由于每个字符的信息量因语言而异,相同的字数限制在不同语言间会产生可表达信息量的巨大差异。

X (Twitter) 在 2017 年将英语字数限制扩展到 280 字符,而日语、中文、韩语保持 140 字符不变,正是考虑了这种信息密度差异。这是把英语 280 字符与日语 140 字符估为大致同等信息量的一种设计上的取舍。

设计数据库 VARCHAR 长度时,这种语言间差异也很重要。英语 100 字符足够的字段,日语 50 字符就能存储同等信息。多语言系统需要为每种语言设置不同的字数限制,或以需要最多字符的语言为基准留出余量。

极端字数教给我们的事

将世界最短和最长的单词并列来看,语言设计的根本差异浮现出来。中文和日语的汉字向"将意义压缩到单个字符"的方向进化,而德语和芬兰语则向"连接单词表达新概念"的方向进化。

这种差异也被直接带进了数字时代的字数限制。用字数一律划线的做法实现简单、也便于说明,代价是无视了 1 个字符所背负的信息量差异。X 只把英语放宽到 280 字符,是试图用"字数的系数"来填补这种不公平的少数实例之一。

理解 Unicode 基础就会发现,"1 个字符"的定义本身在技术上就很复杂。表情符号合成、异体字选择器、组合字符等,"视觉上的 1 个字符"与"数据上的 1 个字符"不一致的情况数不胜数。看似简单的字数计算背后,隐藏着语言与技术的深邃世界。

用字数计算工具试试看

用实际的字数计算工具测量本文介绍的各语言单词,会有有趣的发现。德语 80 字符的复合词在 UTF-8 中是多少字节?新西兰 85 字符的地名经过 URL 编码后会膨胀到多少字符?亲手体验"1 个字符"的定义如何随上下文而变化。

世界最短的单词和世界最长的单词。在它们之间延伸的字数世界,是映射语言多样性和人类创造力的一面镜子。计数器返回的"1 个字符"这个数字,同样背负着因语言而异的信息密度,以及因技术而异的计数约定。

分享这篇文章