本发明涉及汉字编码方法,特别涉及一种将汉字的笔划横、竖、斜作为编码特征的三向汉字编码输入方法。 汉字编码方法以及在电子计算机上实现汉字的输入和处理是人们关注的课题。已有各种各样的编码方法,这些方法可分成三类,即拼音码、形码和音形码。拼音码由于一音多字、重码率高以及不知读音就无法编码等缺陷而无法成为广泛使用的汉字输入方法;各种形码、音形码在分解汉字提取信息时常带有太多的随意性,各种字根需要人们去熟悉,远远多于输入键数的字根通过二、三十个键进行输入,每个键对应许多个字根,因此还必须记忆各个键对应的字根,存在大量的机械记忆问题。
本发明的目的是提供一种简便易学、不存在上述不足的汉字编码方法,实现这一方法的键盘设置也非常简单。
本发明是这样实现的,取汉字的三种基本笔划-横、竖、斜作为编码对象,每个汉字的编码由三位数组成,百位是每个汉字的横的数目、十位是竖的数目、个位是斜地数目。
以下详细描述本发明的内容。
汉字是由笔画组成的(总共28种笔划),按其自然笔向可以将它们归纳为横向、竖向、斜向三大类,将要编码的汉字的全部笔划分向进行计数,横向笔划总数作为该汉字编码的百位数,竖向笔划总数作为十位数,斜向笔划总数作为个位数,由这三个数字组成的一个三位数就是该汉字的三向编码,汉字可按这一编码进行输入。例如,“向”字的三向编码是321,“王”字的三向编码是310。如果某汉字缺少某向笔划,就以数字“0”来代表。如“王”字缺少斜向笔划,其三向编码就为310,如果某汉字的某种笔向划数超过“6”,则最多记到“6”,如“籍”字,横向笔数为“10”、竖向笔数为“4”,斜向笔数为“6”,因横向笔数最多记到“6”,所以该字的三向编码是“646”,为记忆起见,特编口诀如下:
横竖斜划三向明,
百十个位号组成;
复笔只计起笔向,
过六作六缺补零。
汉字的28种笔划以及横竖斜的划分见表1,表中横向类指以横向起笔的笔划,包括横、横钩、横撇等等,竖向类指以竖向起笔的笔划,包括竖、竖钩、竖折等等,斜向类指以斜向起笔的笔划,包括点、撇、撇折等等。由表可知,这三向的划分是严格按照汉字的笔划进行分类的,没有象某些编码方法那样将某些一笔的笔划人为地进行分解,因此,三向的计数实际上就是计算汉字的笔划数。一般的说,笔划少的字(例如10划以内)其三向编码可以直接看出。对于笔划多的字,计算时可采用连带计算法,以免遗忘,如“横”字,横向笔划数为“6”,在进行竖向计算时累计连带横向“6”,计算为61、62……65;在进行斜向计算时连带累计横和竖的两位数65,计算为651、652、653、654,最后654即为该字的三向编码,依次类推。
表一
三向划分一览表
同码字是各种编码方法普遍存在的问题。对于本发明的三向汉字编码方法,在“000”到“666”近300组编码(共289组编码)中共有7大类编码,它们分别以数字0到6作为百位数字,将这些编码表示的字分别称为0号字、1号字、……、6号字。0号字共有65个,用24个编码来表示,平均每码的字数是2.7,这就是0号字的重码率。对于1号字,上述数据分别是393,38,10.3;2号字是722,46、15.7;3号字是882,45,19.6;4号字是865,46,18.5;5号字是698,45,15.5;6号字是1114,45,24.7。由此可见,最高重码率是6号字,平均每码的字数是24.7,最低重码率是0号字。0号字到6号字的总和是4739个,共有289个编码,编码的平均重码率为16.4,为了进一步减少重码率,同码字再按每字横、竖、斜起笔进行细分,这样一来,编码的平均重码率减少为5.5。
以下是0号字到6号字的一些编码实例:
000 0
002 八人入
003 火公父从
…
…
041 仙
050 出
053 绌
1号字
100 一乙
101 厂刀刁力……
102 (横)大丈叉习……
(斜)广之久及……
…
…
2号字
200 二
201 万尸乞子
210 (横)工土士
(竖)口
…
…
233 (横)范枇……
(竖)贤忠
(斜)泄怖乘……
3号字
300 三
301 尹月气
…
…
366 嶙黜
4号字
402 氖肋肌妇
…
…
411 (横)扫百有寻阴……
(竖)吃
(斜)讳自争……
…
…
5号字
…
…
515 (横)掇
(竖)唳
(斜)淳旋笙
6号字
602 明
604 殷
…
…
666 (横)攒麓……
(竖)嚼……
(斜)麝麟瓤……
综上所述,本发明的三向汉字编码简单、易学,所有汉字都用0~6个数字组成的三位数来表示,码长整齐划一,便于处理,重码率相当低,对于笔划的计算,在熟悉一段时间后会很容易的。
以上叙述的是三向汉字编码的详细内容,根据上述内容,很容易构造用于计算机输入的键盘组成形式,例如,可以用常用计算机键盘中的0~9数字键中的前七个键,即0~6来表示编码使用的数字0~6,每个编码中的字的横、竖、斜起笔的区为可以通过分别选择三个其它键,例如字母键A、B、C或选择一个键而通过按下次数来选择,如第一次按下该键表示横、第二次按下表示竖、第三次按下表示斜。对于有重码的字,还可以通过设一个选择键来实现。