半角字符和全角字符的故事

·  阅读 1382
半角字符和全角字符的故事

本文正在参加「金石计划 . 瓜分6万现金大奖」

原文作者:Tomoko Matsuoka

原文地址:mailmate.jp/blog/half-w…

如果读者填写过日文在线表格,你可能遇到过日文字符输入类型:半角字符(hankaku 、half-width)和全角字符(zenkaku、full-width)。

根据输入字段的不同,这两种日文字符集必须切换使用。

例如,假设一个在线信用卡表单需要你输入邮寄地址,通常输入的是全角字符。在同一网页上,你可能还要必须用半角字符来输入你的电话号码,如此来回切换。

不只是在日本的外国人觉得切换这两种字符类型很烦人,从网上的大量讨论也可以看出,日本人也讨厌在填写在线表单的时候切换全角和半角字符的不便。

那么,为何这个问题一直没得到解决呢?这两种字符类型又从何而来?

db44a2dee48c404a9eb1e0f665cf74f1_tplv-k3u1fbpfcp-zoom-1.png

图:Neto Labbo;在在线表单种输入信息,然后提示错误:“请用全角字符输入字母数字。”

什么是全角字符和半角字符?

678166ef2df34f48ba4869e37fc54fd2_tplv-k3u1fbpfcp-zoom-1.png

上面这张图片展示了全角(上面一行)和半角(下面一行)。尽管它们看起来相似,除了有点变形,但他们属于不同的电子字符集。

Morgan Data System KK是一家支持资料录入和聚合调查数据的公司,该公司的对全角字符(zenkaku)和半角字符(hankaku)进行了解释,现将其翻译并转述如下:

“有时半角字符被称为单字节字符,全角字符被称为双字节字符。(字节是计算机中存储数据的计量单位)。

“单字节(1个字节)为8位二进制数(比特),共有256种组合。但这256个值不足以表示所有日文字母。双字节(两个字节)为16位二进制数,共有65536种组合,这就足以用来表示字符量很大的语言了,比如日语和汉语。

2811d3396f634607af2176cac1d9a49e_tplv-k3u1fbpfcp-zoom-1.png

上图左边是全角字符「ア」,右边是半角字符「ア」。虽然这两个字符的发音是一样的,但从对字符的编码可以看出,它们的电子字符集来源不同。

全角半角诞生记

美国信息交换标准码(ASCII),是第一个标准化的字母和数字编码系统(编码标准),是由Bob Bember在1961年5月创建的。

Bember建议使用一种通用的底层编码来表示字母和数字字符,使计算机之间更方便地通信。

ASCII使用8个比特位生成256个数字组合(256种模式),这些组合可以表示任何语言中等量的字符。英语只有94个字母、数字、符号等,因此256个组合足以用来表示英语了。

1969年,日本程序员将半角片假名分配到这94个字母数字字符后的空缺位置,当时被称为JIS C 6220。

9a361d867a2c42b090dbf5a35bda446b_tplv-k3u1fbpfcp-zoom-1.gif

第一个日文电子字符集是半角片假名, 美国东部时间1969年, Japan Association of Graphic Arts Technology

片假名是日本的一种表音符号,被认为足以用来发送简短的电报,也能用于当时的公营和私营部门组织的程序当中。

随着计算机功能的进步,以及文字处理应用成为现实,人们自然而然需要一套完整的日文电子字符集,其中包括数以千计的日文汉字。

金泽大学Riyuichi Fujimoto先生的讲稿(日文版),里面记录了让日文可机读的演变史。下面是从他的论述中总结出的一些事件及其简短时间线。

1963年,ASCII字符:计算机只能理解英文字母数字。

1969年,ASCII字符+半角片假名(JIS C 6220):计算机可以处理半角片假名字符,但不能展示日文汉字。

1978年,全角字符(JIS C 6226.2):计算机能展示日文汉字,但不同国家和制造商存在不一致的情况。

1991年,Unicode:通过给世界各地的字母统一分配数字来标准化语言字符集,便于计算机都能正确处理不同国家的计算机字符。

现状:仍未统一

目前,有许多编码方案可以跨计算机和程序将日文电子字符集(半角和全角)转换成可读语言。(这篇Stack Overflow帖子解释了字符集和编码方案之间的区别)

使日文具有可读性的编码方案有哪些呢,下面列出了部分最著名的方案:

然而,到目前为止(译注:作者发布本文的时间是June 14th, 2021),还没有统一的日文电子字符集,因此人们仍在继续使用全角和半角。

如今,当填写在线表单(如)时,半角主要用于填写字母数字的字段,比如电子邮箱、密码和电话号码。

全角用于输入日文字母的字段(如邮寄地址等),此时必须输入全角字母数字。

如果说全角是更新的、更高级的形式,为什么半角字符仍然用于数字和电子邮件地址?

Sphere System Consulting KK给出了解答:在计算机的数据处理能力很低年代,人们的关注点在于让数据尽可能轻量、简短。这就是为什么程序员更偏向半角字符,而不是全角字符,因为全角消耗的数据是半角的两倍。

此外,在某些情况下,相比全角字符,半角片假名多用于物理空间有限的情况,比如银行存折和收据中。

何去何从:问题的解决方案?

舆论普遍认为,日本人也讨厌这种做法,在Idea Box“数字改革创意箱”上还有关于半角字符和全角字符集(12)的问题(Idea Box是一个开放论坛,个人可以直接向日本中央政府提出投诉或改进要求)。

对于日本用户来说,输入URL时双字节字符不易读是一个烦人的问题,所以,他们不得不切换到半角字符输入URL。对于电话号码和电子邮件等,全角号码也必须转换为半角号码。

对于(在日本的)外国居民来说,在用片假名输入姓名的时候,根据在线表单和输入字段的不同,必须选择半角假名或全角假名。这往往会造成错误,导致用户不能及时完成填写。

日本政府还没有采用并实施统一的电子字符集前,只有依靠临时的解决方案来改善电商网页、网上银行和政府填表的用户体验。

Forrester Research公司的一位高级分析师在2008年的一篇专栏文章提出了一个简单的解决方案,即在收集数据时将字母数字字符、平假名和片假名自动转换为一套编码。

另外,专门从事软件开发者工具和其他IT解决方案的Grapecity 公司,他们用JavaScript处理所述的问题,并公布了他们的方案

既然有了解决方案,至于为什么日本政府和企业迟迟没有更新他们的系统,可能是出于这样或那样的原因要节省空间,或者是困于现状。

或许“一直都是这样”,但不是根本原因。

一位为本文提供技术评审的IT经理指出,“管理层常有职位级别的问题,因为管理层(通常是老年人)对所管理的技术空间缺乏足够了解,通常也要考虑风险规避的问题。他们靠工作年限晋升,而不是个人能力或管理技能。他们不会去修复那些看似无异常的问题,也可能不会过多考虑下属的进步想法。

我确信,官僚式的程序会极大阻碍变革。从想法到实现是漫长的,包括了从讨论、填表、批准到等待(结果)的过程。也许有些(程序员)曾涉入(这个过程),但在途中还是被驳回了。其他人肯能单纯地不想经历走程序的噩梦。”

结语:掌握快速切换快捷键

虽然我们希望前途光明,但这个方法可以解决燃眉之急。

Windows用户:在线表单中按F10可快速切换全角半角字符。

Mac用户:全角、全角片假名按Control + k。半角、半角假名按Control + ;。按Control + Space 还会给一个语言选项列表,包括半角和全角假名(如果Mac上安装了日语)。

对于Mac用户来说,还有两个小技巧(由Christopher J. Green of J Tech Solutions K.K.分享):

1.  输入假名或全角字符,但要一个英文单词,MacOs只需按“fn”+F10。详见:youtu.be/12XbfouHmaA

2.  输入半角字符但想轻松切换至全角字符,只需按“fn”+F6、F7、F8、F9或F10。详见:youtu.be/nhqqN_3XiuM

收藏成功!
已添加到「」, 点击更改