陈颂光
全栈工程师,能够独立开发从解释器到网站和桌面/移动端应用的各类软件。
关注我的 GitHub

用五笔输入法打中文

五笔输入法作为曾在国内大规模推广的中文输入法,不仅有形码输入法重码率低、方便盲打、生僻字友好带来的速度和准确率优势,而且规则的键盘布局和简单的取码规则让它相当易学易用。现在我们一起试用一下五笔。

规则

形码输入法顾名思义是基于汉字的字形来确定汉字的编码,也就是说希望看到的或能写的就能输入。

字的编码

注意到码长为1、2、3、4时,如果用上键盘上25个键(虽然键盘上有更多键,但由于它们多有特殊用途,不宜由输入法占用),至多能容纳25、625、15625、390625个码。由于汉字多于15625个,码长至少需要4才够。而五笔接近取到这个最优值,绝大多数字词可以用四个码内表示,重码率也低到通常不用选字,可以盲打。

字根表

五笔输入法把汉字看作由一些字根按照书写顺序排列而成(取大优先、能连不交、能散不连),各个字根被分配到不同的键盘按键,如下图所示:

字根表

字根分配到键有一些大致的规则(但为了让各键使用频率均匀从而降低重码率,有不少例外),25个字母键分成五区各五个键(另外Z用作通配符),五个区中字根的首笔划通常分别为横、竖、撇、点、折,而同区中位置由内而外五个键中字根的次笔划通常也分别为横、竖、撇、点、折。

字的编码

全码

要输入一个汉字,只用输入它的全码,汉字的全码按以下规则确定:

  • 对于键名(字根表中每个键左上角用粗体显示的),只用按相应键四次
  • 对于其它字根,按相应键一次,然后按一、二、末笔(横、竖、撇、点、折分别对应相应区的首个键,即ghtyn
  • 对于其它字,顺序按一、二、三、末字根相应键,不足四个最后加上末笔识别键:
    • 按最后的笔划决定末笔识别键所在的区
    • 按字的整体结构决定区内第几个键
      • 左右结构为1
      • 上下结构为2
      • 其它结构为3
简码

对于常用字不一定(但可以)输全码,而可以输入简码。字越常用,简码越短(你可能想到哈夫曼编码)。通常简码是全码的前缀,因此不必故意记忆,在非盲打情况下打一段时间自然就会学会一些,学不会也没有大问题。

各键的一级简码表示的字符
1 一地在要工
2 上是中国同
3 和的有人我
4 主产不为这
5 民了发以经

词的编码

  • 对于两字词,只用键入第一、二个字的各自前两码,如“优秀”的编码为wdte
  • 对于三字词,只用键入第一、二个字的前一码和第三个字的前两码,如“供应商”的编码为wyum
  • 对于四字或以上词,只用键入第一、二、三个字的前一码和最后一个字的前一码,如“中华人民共和国”的编码为kwwl

学习方法

  1. 一开始,当然要把五笔输入法装上
    • 若你在用基于Debian的GNU/Linux,apt install fcitx-table-wubi即可
  2. 启用五笔输入法
    • 通常用Ctrl-空格打开输入法,然后反复按Ctrl-Shift直到五笔被选中
  3. 随便打点东西,或者随意按键看看打出什么
  4. 找个常用汉字列表一个一个字用五笔打,如:
  5. 完全用五笔输入法打中文一段时间

遇到不会打的汉字时:

  1. 先猜一下几个可能编码
  2. 尝试用Z代替不确定的键
  3. 通过打类似字或含该字的词来得出信息
  4. 上述都不行才查表

注意总结经验,举一反三。

千万不要去背什么口诀。

与其它中文输入法对比

与其它形码输入法的对比

输入法 对比
郑码输入法 同样最多四码,标榜大字符集中比五笔重码率更低,曾是win95到win7预装的中文输入法,但该公司不明智地指控MS侵权导致在win8后它近乎销声匿迹。郑码和五笔的字根表设计原则不同:五笔为了大致的整体规律而容许个别例外,郑码则宁可不要那么整齐的规律也不要例外。也就是说,郑码为高级用户牺牲了一点初学者。
仓颉输入法 最多五码,通过联想安排字根。是香港最流行的中文输入法,小学计算机课很大部分时间用于教它。
速成输入法 只取仓颉的首末两码,所以重码率颇高,经常要翻页选字,于是连同空格键和数字键实际上往往要4个甚至更多键。但由于不少人不完全掌握仓颉拆字,在香港仍有很大市场。
笔划输入法 用五个键分别代表五种笔划(横、竖、撇、点、折),按书写顺序输入即可。大概是最易学的中文输入法,有时用作手机输入法,缺点是码比较长(有的字很多笔划)。
九方输入法 九方用1到9这九个数字键编码,它们当前代表的字形在屏幕显示出来。这交互式设计使得相对容易学,但由于不看屏幕难以输入,输入速度偏低。在香港常用作手机输入法,九方公司也在渗透一些小学。

与其它音码输入法的对比

音码输入法顾名思义是基于汉字的读音,也就是说希望听到的或能讲的就能输入。由于汉语方言众多,还有多种拼音系统,自然有多种音码输入法。最常见的有大陆地区基于汉语拼音方案的拼音输入法,还有台湾地区基于“通用注音”方案注音输入法。由于相关地区在义务教育大力推广拼音,会的年轻人较多。然而,应当指出形码实际上通常比拼音容易学习多了。事实上,一个下午足以把五笔学到基本能用,当然一分钟300字以上的人是经过苦练的。相反,拼音通常要求多年学习。

拼音输入法缺点则在于重码率超高(有时有几百字同音),经常要翻多页选字,长期以来输入速率低。其变种双拼也没有解决这问题,真正使拼音实用的是带大联想词库的智能拼音兴起,通过整词整句地输入来消歧义。智能拼音可能适合于日常聊天和随写,但对要求精确的文本录入(如涉及名字、生僻词、文言文等等)仍是不适合的,已经闹出了不少笑话。

从编码角度,原则上拼音是非常糟糕的,又长又重,但由于花了巨大的努力(教育部和输入法厂商),终于还是占领了大片市场(正如C本质上不利于优化,但gcc和llvm开发者的巨大的努力还是让C程序快起来了)。可见,先天不足是可以补救的,但要付出代价。

不过,大部分中文输入法看起来都很ad-hoc,但现在常用的qwert键盘何尝不是。

关键词 五笔 输入法 中文