Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
最近看到少数派上的一篇文章:「#」的前世今生,然后对有一处地方比较疑惑:
如果不是偶然的经历,也许「#」将一直存在于生活不起眼的角落,默默无闻地行使它最初的职责。
……
他与团队最终选择了包含在 ASCII 字符集中的「*」与「#」作为新的按键符号。
如果「#」真的默默无闻,它又是怎么进入 ASCII 字符集中,后来在被应用到电话机中的?
原文中关于「#」从最初的「lb(每磅重)」含义再到进入 ASCII 与电话机期间的这段历史有所缺失,于是我去查阅了一下,结果发现,不单「#」在进入 ASCII 前经历了一段复杂的旅程,就连「#」的来源也有一些争议。本篇文章就来补充「#」的这段历史。
#1 另一种来源:数字符号(Number Sign;No.)?
尽管「#」是来源于「lb/℔(每磅重)」的说法很有说服力,但「#」还有另外一个常用的含义:数字符号(Number Sign)。这也是 Unicode 字符集里「#」的名称。
有人指出,「#」也许是早期计数符号的演变。并且这一含义已在 19 世纪的记账法中有所应用,一直至今。
另一个表示「数字符号」的字符是「№」(No.)。
使用「#」作为「数字符号」在非正式写作中很常见,但在印刷品中较少使用。
那么,「#」又是怎么集「磅重」与「数字」这两个含义于一身的?
#2 磅符号 (Pound Sign):「#」还是「£」?
关于「#」为什么同时有「lb(每磅重)」与「数字」两个含义这一点,有不同的解释。
有人指出,在美国,当「#」写在数字前面时表示「数字(No.)」,而写在数字后面则表示「磅」。「#」的这一双重含义早在 1880 年代的记账法中便有提及。
而在其他国家(尤其是英国),磅符号(the pound sign)通常指代「£」;于是有一些人认为,这与 19 世纪末以后英美的通信编码有关。
#3 从通信编码中寻找「#」1
有人声称,在电传打字机以及通信编码中,英式与美式键盘上「£」和「#」对应着同一个键,从而造成了混淆。
真的是如此吗?这里就来寻觅「#」在通信编码的踪迹。
博多-默里码
在法国,埃米尔·博多 (Émile Baudot) 于 1874 年设计了自己的「印刷电报」系统。该代码本身是由他的两个同伴约翰·高斯 (Johann Gauss) 和威廉·韦伯 (Wilhelm Weber) 开发的,采用的是 5 位代码。
1899 年至 1901 年间,唐纳德·默里(Donald Murray)在博多的基础上设计了一种自动电报系统,利用了他认为是「博多多路复用系统的最佳功能」。
另一条路:Morkrum 码
在美国,情况又有所不同。Joy Morton 和机械工程师 Charles L. Krum 于 1901 年创立了Morkrum 公司(后来的电传打字机公司)。1910 年,Morkrum 与邮政电报公司在波士顿和纽约首次安装了印刷电报机,Morkrum 公司的电传打字机采用了自己的一套编码,称为 Morkrum 码。
1915 年 1 月 15 日,西联电报公司开始使用结合了默里和 Morkrum 电码的印刷电报系统。而默里码经西联修改,除了少数「可本地化(national use)」字符外,被 CCITT(国际电信联盟电信标准化部门)采用作为 ITA2 编码(国际电报字母表)。美国则在 ITA2 的基础上,结合当时美国电传打字机上的常见字符,形成了 USTTY 编码(美国电传打字机代码)。
在以上编码中,有两处「#」和「£」对应着同一键:
- 1908 年的默里码与 Morkrum 码的 Shift-S;(不过默里码在 1911 年又有过一次更新,且 1930 年代初 ITA2 推出后,几乎所有美国制造的电传打字机设备都使用 ITA2 或 USTTY)
- Morkrum、西联和西电与 USTTY 的 Shift-H,而最终采用的 ITA2 中的 Shift-H 为「可本地化」字符,也的确有资料显示会有某些变体将该键设定为「£」;
于是便有人认为,「£」和「#」对应着同一个键,而它们都被称为「the pound sign」,从而造成了混淆。2也有人从 1955 年 Milton Kaufman 的《无线电操作员执照问答手册》 找到了证据:
类似地,数字或英镑符号(#)不能在传输中再现,并且发送者应根据具体情况使用 NUMBER(或 NO)、POUND(或 LB)或 POUNDS(或 LBS)等词来代替。
在 ASCII 制定后的 ISO 646 标准中,其英国版本将 0x23 原来对应的「#」改为了「£」;
随着 AT&T 按键式电话的兴起,其语音应答系统将「#」称为「the pound sign」,更促成了这一称谓的推广。
不支持这一观点的人则指出,正如前文所述,「#」的双重含义早在 19 世纪 80 年代的美国便已存在,当时博多码还并未进入美国,前文所述的其它编码还未出现。将「£」替换为「#」应该是在美国「#」也表示「磅重」的结果,而不是原因。
#4 「Octothorpe」3
1968 年,贝尔电话实验室的工作人员将「#」引入到电话机上时,给它起了一个新词:Octothorpe。关于这个词的来源说法不一。
根据 1995 年贝尔实验室工程师 Ralph Carlsen 和编辑 Patrick Townson 之间的电子邮件往来显示,唐·麦克弗森(Don MacPherson,当时贝尔实验室的主管)将 octo- 和奥运会奖牌获得者吉姆·索普(Jim Thorpe)的姓氏结合起来创造了这个词。
- 「#」分成了 8 块,因此名称应该包含「OCTO(英语中表示「8」的前缀,如 octagon 八边形)」。
- 当时唐·麦克弗森正致力于奥运会奖牌获得者吉姆·索普(Jim Thorpe)的奖牌恢复运动4,由于「Thorpe」一词的独特性,于是他以「Thorpe」一词加上「Octo-」产生了「Octothorpe」。
也有人认为这只是贝尔实验室人员的玩笑;根据实验人员霍华德·伊比(Howard Eby)和劳伦·阿斯普伦德(Lauren Asplund)给 Douglas A. Kerr(最终是他在电话机上采用了 #)的备忘录给显示,他们选用「octotherp」这个词,是作为 Kerr 以「不合国际标准」为由拒绝他们支持的「星形」「钻石形」按键的报复,因为「th」在某些语言中很难发音。而在给 Kerr 的信件中,他解释选用「therp」是因为它听起来像希腊语,且与「octo」相配。
1996 年的《新科学家》杂志则认为,「octothorpe」中的「thorpe」来自古英语中的「村庄」一词。「octothorpe」即「被分成 8 块的村庄」。
#5 总结
或许与其它标点符号相比,「#」的历史是最扑朔迷离的。「#」的含义的丰富性也超过许多标点符号。
它有很多名字:pound sign、number sign、hash、hex、square.....
在国际象棋中,它代表将死的一步棋;在校对时,其含义是「在此处插入空格」;而随着推特的流行,「#」又多了「标签」这一含义……
关于「#」的起源说法很多,每种说法都有其合理性却又无法互相说服。而且,在 19 世纪之前很少有「#」的完全对应符号,以至于有人猜测,「#」是在 19 世纪后创造出的新符号,并随着在打字机上的应用逐渐推广开来。个人认为,也有可能不同地区的民间都有关于「#」的各种用法,而在 19 世纪之后随着全球交流的日益频繁而将其含义标准化。
在我查阅资料的时候,有篇文章引用了加拿大记者罗伯特·富尔福德概括「#」的历史的一段话,在我看来十分贴切:
It’s a word for word’s sake, a word someone invented in a playful moment just because he felt like it.
一言以蔽之,这个词是某个人出于好玩发明的,只是因为他喜欢它。
说不定,「#」就来源于中文的「井」字呢。
遗留问题
- 牛顿对于「lb」的写法似乎可以解释从「lb」到「#」的演变,但这无法解释为什么如今「#」只在美国表示「磅重」,而在其它国家中没有这种用法?
参考资料
- https://en.wikipedia.org/wiki/Number_sign
- Eric Fischer - The Evolution of Character Codes, 1874-1968,对字符编码发展感兴趣的可以看看这篇文章;
- Tom Jennings - "An annotated history of some character codes or ASCII: American Standard Code for Information Infiltration",其中包含在 ASCII 前通信编码的简短介绍,以及对 ASCII 中的控制字符进行了介绍;
- https://www.quora.com/Why-has-the-symbol-been-called-a-number-sign-pound-sign-and-now-hashtag
- Douglas A. Kerr, P.E. - The ASCII Character "Octatherp"
- The "pound sign" mystery
> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰
> 实用、好用的 正版软件,少数派为你呈现 🚀