精华内容
下载资源
问答
  • 中文名汉字输入编码类型5种属于汉字编码方案的一种背景使用汉字人口最多汉字输入编码介绍编辑语音为便于将汉字送入中文处理终端或系统,用预先设计好的方法,将汉字音、形、义有关要素变成数字、字母或键位名称的...

    汉字输入编码是汉字编码方案的一种,可归结为5种类型。

    中文名

    汉字输入编码

    类    型

    5种属    于

    汉字编码方案的一种

    背    景

    使用汉字人口最多

    汉字输入编码介绍

    编辑

    语音

    为便于将汉字送入中文处理终端或系统,用预先设计好的方法,将汉字音、形、义有关要素变成数字、字母或键位名称的转换方法。汉字输入编码是人到机(计算机)交换汉字特征信息的界面。汉字输入码的长度随着输入方法的不同而不同。

    汉字输入编码背景

    编辑

    语音

    世界上使用汉字的人口约占世界总人口的 1/4,因此研究和发展汉字输入编码是一项非常急迫的任务。中国是汉字的发源国,汉字应用已有数千年历史。1987年中国研究汉字输入编码的人员已近 400人,不论在深度和广度上,都走在世界前列。

    1981年,中国国家标准局公布的国标 GB2312-80《汉字信息交换用编码字符集》,收汉字6763个,到80年代中期除专业用字符集外,都以国标字符集所收汉字作为输入编码范围。

    汉字输入编码入手的方法,是在汉字中寻找统一的有规律的特征信息,将汉字二维平面图形信息转换成一维线性代码。根据所取特征信息的不同,汉字输入编码分从音编码和从形编码两大类。其他类型是相互结合型,或与字义结合,或与检字法结合,或与词组结合。因设计的目的、思想不同,用以编码的元素、所用码元的数量、取码方法和规则,避开同码字和占用键盘键位的方法等,都因设计者而异,因此产生了数百种汉字输入编码方案。

    从音编码是以1958年 2月11日中国全国人民代表大会批准公布的《汉语拼音方案》为基本编码元素。汉语拼音是以北京语音为标准音,以北方语为基础方言,以典范的白话文著作为语法规范的普通话。自推广普通话以来,已有相当数量的人掌握了汉语拼音,以此为基础作汉字输入编码,为这部分人所乐于接受。但中国各地方言复杂,不少人还难以做到准确认读汉字,因此容易出现差错。此外,北京语系只有21个声母,39个韵母,1332个音节,不能区别成千上万个汉字,同音字很多,所以需要增加定字编码。这就要从形、从义去找,或借助计算机将同音字全显示出来,再去选择定字,可见从音编码方式输入繁琐,输入速度低。但日常汉语口语中有词、语句的限定,同音字不会被人误解。利用这一汉语特征,拼音编码已向拼音词组编码发展来解决部分欠缺。

    从形编码是以笔画和字根(字元、部件)为编码元素。现代汉字是从甲骨文、金文演变而来,经过篆书、隶书、楷书等演变而形成的。在形体上逐渐由图形变为笔画,象形变为象征,复杂变为简单。造字原则从表形、表义到形声,汉字数量增多主要是形声字数量多。汉字从形编码是充分利用现代汉字这些特征,把汉字平面图形编成线性代码。

    汉字从形编码利用人们已有的汉字书写知识,在键盘上象写字一样打入笔画和字根,从计算机内选出汉字,既直接又方便。这样就要把上千个字根和上百个笔画尽可能归纳,减少它们的数量,以便于记忆字根所在键位。到1987年已能将字根归纳为100个左右,笔画为5个。字根少了会造成分解汉字图形的难度,字根多了又会增加记忆量,所以设计者需从中选取最佳的取舍方案,做到易学易记,因此形码方案数量很多。为达到高速输入,从形编码也向词组编码发展。

    汉字输入编码将会随着计算机应用的普及,通过学术评议和用户实践,由数百种优选成数种实用方案。

    汉字输入编码类型

    编辑

    语音

    汉字编码方案的一种,可归结为下列几种类型:

    (1)汉字拼音编码 以汉语拼音为基础的汉字输入编码,在汉语拼音键盘或经过处理的西文键盘上,根据汉字读音直接键入拼音。

    (2)汉字字形编码所有的汉字都由横、竖、撇、点、折、弯有限的几种笔划构成,并且又可分为‘左右’、‘上下’、‘包围’、‘单体’有限的几种构架,每种笔划都赋予一个编码并规定选取字形构架的顺序,不同的汉字因为组成的笔划和字形构架不同,就能获得一组不同的编码来表达一个特定的汉字,广泛使用的‘五笔字形’就属于这一种。

    (3)汉字直接数字编码 利用一串数字表示一个汉字,电报码就属于这种。

    (4)整字编码 设置汉字整字大键盘,每个汉字占一个键,类似中文打印机,操作人员选取汉字,机器根据所选汉字在盘面上的位置将其对应编码送入计算机。

    如今,通过语音和图像识别技术,计算机能直接将汉语和汉字文本转换为机器码,已经有多种语音识别系统和多种手写体、印刷体的汉字识别系统面世,相信还有更完美的产品推出。

    展开全文
  • 汉字编码法计算机传入我国后,在其中输入、输出和存储汉字是用户必然的需求。计算机的键盘从英文打字机键盘发展而来,用户可以方便地利用键盘输入英文,却无法直接输入中文。针对这一问题,我国的学者和计算机工作者...

    汉字编码法

    计算机传入我国后,在其中输入、输出和存储汉字是用户必然的需求。计算机的键盘从英文打字机键盘发展而来,用户可以方便地利用键盘输入英文,却无法直接输入中文。针对这一问题,我国的学者和计算机工作者进行了长期的研究与开发工作,到目前为止已经基本解决了汉字的输入问题。

    目前,计算机中汉字的输入方法可以分为自然输入和键盘编码输入两大类。其中自然输入包括手写输入和语音输入,虽然自然输入更加简单,但是手写输入速度慢,语音识别需要相对安静的环境。可以预见:在相当长的一段时间内,键盘编码输入还是最主流的输入方法。键盘编码输入汉字具有如下两个优点,第一,它无需添加任何外部硬件设备,手写输入通常要添加手写笔,语音输入需要麦克风和声卡结合使用,而键盘编码输入只要基于计算机的键盘;第二,输入速度快、准确率高,手写输入的速度通常较低,语音输入的准确率不太高,而且容易受到外界声音的干扰。

    汉字编码法可以主要分成:流水码、音码、形码和音形码(形音码)。流水码也被称为无理码,它通常没有重码,但是用户如果要使用该输入法输入汉字,记忆量极大。例如“区位码输入法”就是一种流水码,几乎没有用户能够记住所有汉字的区位码。音码是目前比较常见的编码法,通常基于汉语拼音方案,或者对拼音方案进行一些变革与改良。例如:“全拼”就是完全基于汉语拼音,“双拼”就是为了减少输入时的击键数而作的变革。因为我国目前大多数计算机用户在中小学阶段接受过良好的汉语拼音教育,所以比较容易学习与使用该类编码法。但是由于数万个汉字只有一千多个发音,所以音码类的编码法的重码比较高,直接导致用户需要经常在候选字词中选择字词,因此降低了输入速度。形码类的输入法从汉字的形状出发,通常重码低、输入速度快,但是它们往往记忆量较大、用户学习时间长。音形码从汉字的音和形两个角度出发,有的以音为主,有的以形为主。因为结合了汉字的两部分信息,这样重码往往更加低,但是用户在输入时既要考虑音也要考虑形,考虑时间变长,所以用户学习和使用都相对困难。

    汉字输入系统

    汉字输入系统通常由硬件与软件两部分组成。例如:汉字语音识别输入系统,它包括:声卡、麦克风和识别软件部分。显然,软件部分应该是一个汉字输入系统中的主体部分,所以目前通常我们所说的“汉字输入系统”就是指汉字输入系统的软件部分。

    一个汉字输入系统主要完成三方面的任务:第一、接受用户输入;第二、将输入码转换为候选字词的机内码;第三、将汉字或词组的机内码传递给应用程序。其中第一、第三与具体汉字编码无关,而第二的过程和不同的汉字编码是密切相关的。

    对用户而言,Windows中汉字输入系统通常有三个窗口,第一个是输入法状态条窗口,第二个是输入码编辑窗口,第三个是候选字词列表窗口。另外为了便于用户有选择地使用输入法的功能,通常还提供输入法功能选项的设置界面。图1显示了纵横汉字输入法的三个相关窗口,图4.2是纵横汉字输入法的功能选项配置窗口。

    e0fe2299-c87f-4322-a848-49df7a25c558.jpg

    图1纵横汉字输入法的三个窗口

    汉字输入系统码本

    汉字输入系统的主要作用是把用户输入的输入码转换为对应字词的机内码。有些汉字编码输入系统根据用户的输入码就可以直接计算出候选字词的机内码,例如“区位输入法”和“内码输入法”。但是大多数的汉字编码输入系统需要通过查询一个存储了从输入码到字词机内码映射关系的对照表,才能得出候选字词,该对照表通常称为该汉字输入系统的码本。

    汉字输入系统与操作系统结合紧密,它属于系统软件,不仅需要考虑效率,还要尽量少占用系统资源。如果汉字输入系统码本采用数据库形式存储,不仅使得输入系统依赖于一个特定的数据库引擎,还将影响汉字输入系统的发布与实际使用。此外,为了节约内存空间,在进程之间共享数据,汉字输入系统的码本往往不是以数据库的形式存在,需要为汉字输入系统码本设计一些便于检索的码本结构。

    e0c709d5-bcb8-4234-a359-8b12488ad53b.jpg

    图2纵横汉字输入法的选项设置窗口

    目前,汉字输入系统的码本主要有三种结构:定长结构、变长结构和索引结构。定长结构特别适用于重码少、且每个输入码候选字词分布平均的编码法。对定长码本按照输入码排序后,在查找的时候可以使用二分查找,效率很高。如果不同输入码候选字词分布不均匀,重码多,或者不同输入码的候选字词条存储长度区别很大,此时可是使用变长结构的码本,变长结构的码本在存储上可以节约空间,但是不便于快速检索。索引结构的码本兼有定长结构便于快速检索和变长结构节约存储的优点,可以高效检索,而且能够节约存储空间,所以被广泛使用。

    展开全文
  • 专利名称::计算机汉字输入坐标码编码方法技术领域::本发明涉及一种计算机汉字输入编码方法。形码,是目前广泛应用的一类计算机汉字输入方法,它的典型代表是″五笔字型″,″五笔字型″以汉字的″拼形″特性做为...

    专利名称::计算机汉字输入坐标码编码方法

    技术领域:

    :本发明涉及一种计算机汉字输入编码方法。形码,是目前广泛应用的一类计算机汉字输入方法,它的典型代表是″五笔字型″,″五笔字型″以汉字的″拼形″特性做为它的理论根据,从字形入手,见形识码,完全避开汉字的读音。它克服了″音码″不知道读音或读音不准便无法正确输入的缺点,具有重码率低,输入快的优点。形码,靠提取汉字的形特征信息进行编码,一般都拆分汉字,形码的设计思想可概括为首先,基于″某种认识″确定汉字的拆分结果---即″字根集″;然后,根据字根集反过来解决″汉字的拆分″问题,以及编码和输入等问题,″字根集″是形码的核心,不同的形码本质上是″字根集″的不同,汉字的拆分方法也因之不同。不足之处是记忆难,它的一百多个字根含有很多非字部件,而且没有规律性,记忆负担重;学习难,汉字的结构规律是客观存在的,五笔字型的字根集无疑也是汉字构成的主要部分,但是,将字根集定义成唯一的汉字结构单元,用它去机械地硬性拆分汉字,便偏离了汉字的结构规律,也远离了人们的文字习惯,典型的例子就是″相交笔画被拆分,基本汉字被拆开″,如此,人们深厚的母语文字知识用不上,长年的文字习惯不被认同,不仅造成了学习上的困难,也造成了心理上的隔膜。为解决以上编码方法之不足,本发明的目的提供一种计算机汉字输入坐标码编码方法,利用汉字的结构特点,建立拆分原则,不使用″字根集″,可以实现计算机快速编码输入,重码率低,便于记忆,便于学习的目的。本发明计算机汉字输入坐标码编码方法,其内容包括1.坐标码无″字根集″的拆字方法五个不拆分原则;汉字拆分的依据--型元集;汉字拆分的相关因素;汉字的拆分规则。2.坐标码的编码方法用于编码和输入的信息;坐标码与键盘的对应关系;编码规则。其中坐标码无″字根集″的拆字方法和坐标码的编码方法分别说明如下为什么叫坐标码汉字可以看成是分布于某一空间的点阵,为汉字编码其实质就是寻找一个坐标,该坐标应可以很好地离散汉字(重码率低),并使之具有唯一性(一字一码),只要能建立这样一个坐标,设甘思想是不受约束的。鉴于这一认识,本码取名为″坐标码″。一.汉字的基本笔画有五种横,竖,撇,捺,折.其中横包括″提″;竖包括″左竖钩″亅;捺包括″点″、。笔画之间的组合方式有三种(1)相交笔画之间彼此交越的组合方式称相交,如十,九,丰;(2)离散笔画之间彼此分离的组合方式称离散,如氵,彡,儿,川,灬;(3)粘连笔画之间彼此相连但不交越的组合方式称粘连。粘连又分三种A.直连笔画横、竖以及折的横、竖段之间的粘连方式称直连。如丁,卫,山,支;B.斜连相粘连的一方是撇、捺或是折的撇捺断的粘连方式称斜连。如人,不,,亻;C.端连笔画连于彼此端点的粘连方式称端连;如凸,冂,厂,几,凹,口。二.五个不拆分原则型坐标码将笔画的组合体称为″型″。基本型坐标码中,汉字的基本结构单位称为″基本型″。坐标码认为将汉字还原成笔画而取码的方法是最不可取的,它最大限度地丢失了汉字的结构信息。坐标码总结出五个不拆分原则。1.一个笔画不允许拆成两截,断在两个型中。原因单一笔画理应完整。2.相交叉的笔画不允许拆分,如丰,十,又,原因″交叉″是一种紧密的组合方式。3.相端连的笔画不允许拆分,如弓,厂,口,凸。原因″端连″也是一种紧密型组合方式。4.由两笔构成的汉字和常用非字偏旁不允许拆成笔画,如人,儿,丁,亻,冖,阝,讠,刂,冫,等。原因由笔画的原始功能推理而得。5.至少被某一笔画完全隔离的,结构上对称分布并被包容的,两个单笔画不允许拆出组成一个型。如平,不可以拆成″干与丷″;木,不可以拆成″十与八″,原因文字学指出″汉字的结构是一种积木式结构″这五个不拆分原则在一定程度上保护了汉字的结构,但这还不足以成为一种方法。三.型元集1.型元集的产生文字学指出″汉字由合体字与独体字组成,而且在早期的汉字中,合体字完全由独体字构成″。可见早期汉字的基本结构单元就是汉字,即不可拆分的独体字,汉字的结构规律呈现出完全的″文字性″。汉字发展到今天,它的结构规律也再变化,但是″文字性″仍然是它最重要的内容,此内容可表述如下″汉字结构是以基本汉字和常用非字偏旁为主,辅之以众多的使用频率很低的部件所构成″。根据汉字结构规律的″文字性″,结合″易于记忆″的设计原则和″限制拆分″的设计思想,坐标码将″结构不可再拆分的汉字和常用非字偏旁″做为汉字拆分的依据。型元坐标码将结构不可再拆分的汉字和常用非字偏旁称″型元″,型元的总和称型元集。型元集由三部分组成(1)符合五个不拆分原则的汉字和常用非字偏旁如十,九,口,厂,乙,木,等。(2)拆不出(1)中型元的汉字和常用非字偏旁,也是型元,如非,年,永,承等。(3)含有型元,但在坐标码的拆分规则中不允许拆分的汉字和常用非字偏旁,也是型元。如函,成,飞,王,失等。对于国标GB2312(80)字符集,共有型元334个,其中汉字279个,常用偏旁55个,详见附表。2.型元集的易记性型元集所含型元的数量并不少,但记忆起来十分容易,原因有两条第一,它具有文字性,279个字型元是结构最简单的汉字,而且绝大多数是常用汉字;55个常用非字偏旁虽不是汉字,但由于它的常用性,它们实际上是一种″准文字″,人们对它们的熟悉程序不低于常用汉字,所以型元集易于掌握。第二,它具有规律性,型元具有结构不可再拆分的特点,而且型元集是此类汉字,及常用非字偏旁的集合,所以型元的鉴别十分容易,″文字性″使型元集易于掌握,″规律性″使型元集易于区别,二者使型元集具有″易记性″。四.汉字拆分的关联因素1.型的分类与性质坐标码研究发现,一个型在汉字中的″稳定性″---既做″基本型″能力的大小,与构成它的笔画数有关,也与笔画间的组合方式有关,坐标码根据笔画数和组合方式将汉字中的型分类如下(1)单型仅有一个笔画的型称″单型″,型元集有两个单型型元,一和乙。性质单型的稳定性最弱,只有特殊情况下才可以做基本型。(2)偶型由两笔构成的型称″偶型″。如偶型元,人,儿,八,七,亠,等。性质偶型的性质很特殊,汉字结构不确定因素集中地反映在偶型的身上。偶型的″稳定性″居于单型和成型之间,偶型可否作基本型受诸多因素的影响。(3)成型由三笔及三笔以上笔画构成的型称″成型″,成型根据笔画之间的组合方式又分为三种1)正闭合型至少三面是由横,竖线段构成的闭合型及与之相交叉的笔画称″正闭合型″。如口,开,用,中,田等,2)相交型笔画间含有相交关系的成型称″相交型″。如木,寸,丰,才,等。3)堆积型笔画间仅含粘连,离散关系的成型称″堆积型″。如彡,巛,灬,立,火等。性质成型的″稳定性″比较强,以成型元而言,一般情况下它们都是基本型,只有特殊情况下,成型元也可以不是基本型。2.型的部位关系部位关系是指汉字中型之间彼此的位置关系,汉字结构的部位关系共有四种单一关系,上下关系,左右关系,内外关系,(1)单一关系即孤立的关系如人,七,十,大。(2)上下关系型之间是上下排列的位置关系,如吕,古,竿,急,等。(3)左右关系型之同是左右排列的位置关系,如双,林,叶,彻,等。(4)内外关系型之间呈内外分布的位置关系,如国,同,右,凶等。坐标码认为上下,左右部位关系中的型,彼此之间相对独立,是一种并列关系,适宜拆分;而内外关系中的型,彼此之间存在一种联系,相对而言独立性较差,对拆分有一定的约束。3.型之同的″连接关系″″连接关系″是指两型之间的接触方式,即笔画之间的连接方式。型之间的连接关系分为两类″离散″与″粘连″。离散,显然是有利于拆分的条件。粘连,根据情况又可分为三种具体情况(1)正闭合,两个型若组成正闭合型,则两个型之间的粘连方式称″正闭

    表1注CELMET是三维网状多孔件,由SumitomoElectricIndustriesLtd.制造;#7是型号,表示每单位长度(1英寸)微孔数为50-70。B.存在粘连情况(直连或是斜连)或内外关系时,偶型元是基本型的一部分,不可拆。如函(),辰(厂),亥(亠),午(十),贝(人),今(人),严(厂)等,简而言之,此种情况下有一种外在约束(或是内外关系,或是粘连关系),偶型元便不能自保,成为基本型的一部分,(2)当对方为相交型时(正闭合型,见后述的准型元)A.在斜连或离散情况下,不论部位关系如何,双方均是基本型,可拆。如发,,又;匆勹,B.在直连情况下,上下,左右部位关系可拆,双方均为基本型;内外部位关系不可拆,型元是基本型的一部分。如击,,;叟,又;皮不可拆,″又″是字型元的一部分。简而言之,对方为相交型时,一种外界的约束束缚不了偶型元,两种外界的约束才能使双方成为一个基本型。规则3-4″当型元是单笔型元′一′和′乙′时,仅当(1)对方是成型;(2)彼此离散;(3)不为内外关系。三个条件均满足时,可拆,双方均为基本型。否则不可拆。″如丽一,;丝,一;乞,不可拆,是偶型;丞,不可拆,双方粘连。六.拆字规则的扩展规则1~3是坐标码的基本拆字规则,以此为基础还可以得到一些其它的结论。1.单笔画做基本型的条件坐标码中,单笔画是可以做基本型的,但条件很严格。规则4单笔画撇、捺不允许单独做基本型;单笔画横、竖、折可以单独做基本型,但要同时满足下面三个条件第一.与相邻型不为内外关系;第二.与相邻型不粘连;第三.相邻型是型元。如私,禾,;孔子,乚;日,丨,日言,亠,一,一口;旦日,一。2.关于″一″的规则″一″很特殊,即是笔画横,又是型元壹″。汉字中有许多字是由某字与″一″组成的,如王一,土;天一,大;千,一;再一,冉;生牛,一;正一,止;丙一,内;亚一,业;灭一,火;土十,一;闩门,一,酉西,一等等。为保护汉字结构的完整性,规则5当″一″与其它型元相组合时,″一″在拆分过程中以笔画横对待,拆分结果不受它的型元身份的影响,拆分结果是基本型,″一″是型元;否则,就是笔画横。如亘,一,日,一;″一″是型元。生,不可拆,″一″是笔画。3.准型元坐标码将汉字的型分为型元和非型元,基本型也分为型元基本型和非型元基本型,坐标码以型元集为核心,判定非型元型是否是基本型的拆字方法,是一种智能化的方法,也是独一无二的。以往的码,汉字的拆分结果必须是字根,字根是必须死记硬背的,而坐标码是不要求记忆非型元的,坐标码的这种拆分方法,其优点是明显的,第一,它只须记忆″文字性″的东西,这就拥有了易记忆的基础。(型元集还具有″规律性″)第二,它承认的汉字基本结构单元是开放的(型元也可,非型元也可)所以,它的拆分结果容易符合汉字的结构特点。事实上,目前得到公认的,文字学界统计出来的六百余个构字部件,反映在坐标码中,除少部分可以继续拆分外,其中最常用,最主要的部分便反映在型元集中;另一部分约二百个使用频率低,文字性差的构字部件便以非型元基本型的形式出现,而这一部分在坐标码中恰恰是不需要记忆的。这也就是坐标码既符合汉字的结构规律,又易学易记的原因之一。成型元是型元集的主体,它具有两个特征(1)文字性,(2)结构的稳定性。汉字的结构中有一种型,它不具文字性(不是汉字,也不常用),却具有成型元的稳定性,对拆分一些汉字很有帮助,坐标码称之为″准型元″,准型元有两种。(1)正闭合型正闭合型,笔画之间结合紧密,边界清晰易于判别,所以坐标码将之做为准型元。如鹿中″″,革中″″,面中″″。(2)成型元与某一笔画交,连而成,由拆分规则,此单笔画是不可拆分的,同时坐标码认为此型的独立性不应低于型中的成型元,所以将之列入准型元。如囱中,老中,系中。规则6″准型元在汉字拆分上,其功能等同于成型元″。准型元与型元的区别有两点第一、准型元不具备文字性;第二、键盘输入方式不同,见后。引入准型元后,坐标码的拆字手段更加完善。如“考、面”均无型元,引入准型元后,拆分简单而合理。考,面,4.型层型层是基本型的组合体,是可拆的;同时型层的结构完整性也更强,判定非型元型是否是基本型的能力也更强,规则7型层与单笔画″横,竖,折″相组合时,单笔画是基本型。如买,乛,大(头是型层)。司,一,口,(是型层)。5特例规则8(1)″一″与″相交型型元″粘连的情况当″一″与型元相粘连时,根据规则4,5,″一″是不可拆的。但是,当″一″相交型型元″粘连成非字型时,由于整体非字,如得中于,徐中禾,所以人们很容易识别出整体中的相交型型元,而且这样做也便于取码。为兼顾理论的严谨和实际的需求,坐标码将此种情况做为特例,并规定如下当条件1)″一″与″相交型型元″粘连,但不是内外关系;2)两者之和是非字型,且不与第三者上下粘连,均被满足时,′一′可拆,双方均是基本型。如徐彳,,一,木;得彳,日,一,寸,余,一,木。(2)关于″一″的优选方案″一″毕竟是型元,所以在一些场合,在不违反理论的前提下,″一″的拆分是一种优选方案。如咸拆成″戊,一,口″正确;拆成″戌,口″错误。司,拆成″,一,口″正确,拆成″,口″错误。合,拆成″,一,口″正确,拆成″口″错误。规则9拆分汉字出现两种情况时,根据下述顺序拆分(1)对于型元″型元优于非型元;成型元优于偶型元;正选型元优于归并型元″。如″卡″,有二种情况″上与卜″和″与下″;是卜的归并型元,所以第一种正确。又如″圭″,有″土与土″和″十与王″;根据″成型元优于偶型元″,所以第一种正确。(2)对于连接关系″离散优于粘连;斜连优于直连″。如敖中″″,有两种情况″与″和″与万″;根据″斜连优于直连″,所以第一种正确。解决了汉字拆分这一问题之后,便可以进行汉字的编码与输入了,在编码与输入环节上,坐标码具有音码的优点;简单,直观。在坐标码中,汉字的特征信息元就是基本型,型元集有334个型元,加上非型元基本型的存在,基本型的形式很多,如果和以往的码一样,将基本型的形式归并在键位上进行输入,将会带来很重的记忆负担,坐标码将不是一个好的汉字输入法。坐标码在其汉字拆分方法的基础上,形成了自己的独特的编码理论和方法,它不是输入″基本型″这一特征信息元,而是输入特征信息元″基本型″的特征信息,形象地说,它是汉字拆分后的″音形码″。七.用于编码和输入的信息坐标码采用两种信息进行编码与输入,(1)音信息;(2)序码1.音信息音信息,型元基本型码名的第一个拼音字母,称音信息,什么是″码名″呢?型元分两种,一种是字型元,一种是偏旁型元,对字型元而言,码名就是该字本身,对于偏旁型元而言,坐标码根据它们俗名的特点,用一个字做它们的码名,音信息实际上就是码名的声母或是韵母的第一个字母,它不涉及汉语拼音的″平,卷舌音″,也不涉及″四声″,所以它不受发音是否准确的干扰。关于偏旁型元的码名常用非字偏旁一般都有一个约定俗成的俗名,其取名的方法可归纳为三种(1)偏旁是某一合体字的一部分,用该合体字为偏旁取名,这叫″合体字名称″。如赵中″″,称赵字旁;虎中″″,称虎字头;(2)根据偏旁的特征取名,这叫″形特征名称″,如巛,称三拐,彡,称三撇;口,称方框。(3)根据偏旁与某字的联系取名(是某字的古形或变形),这叫″同源名称″。如忄与,称竖心旁,(是心的古形),氵,称三点水,(是水的古形);牛与称牛字旁,(牛的变形)。在坐标标码中,一般地具有″合体字名称″的偏旁型元,它的″码名″就是该合体字;具有″形特征名称″的偏旁型元,它的″码名″就取俗名的中心字;具有″同源名称″的偏旁型元,它的″码名″就是它的同源字。具体见下表。偏旁型元的码名序号偏旁型元俗名类型码名字母01亠文字头合体字文W02廴建之儿合体字建J03丬将字旁合体字将J04廾弄字底合体字弄N05宀宝字盖合体字宝B06彐寻字头合体字寻X07疒病字头合体字病B08虎字头合体字虎H09春字头合体字春C10卷字头合体字卷J11祭字头合体字祭J12癶登字头合体字登D13赵字旁合体字赵Z14青字头合体字青Q15共字头合体字共G16冂同字匡合体字同T17灰字头合体字灰H18勹包字头合体字包B19衣字底合体字衣Y20出字头合体字出C21冫两点水形特征点D22冖秃宝盖形特征秃T23三框栏形特征框K24口方框形特征方F25彡三撇形特征撇P26巛三拐形特征拐G27纟乱绞丝形特征乱L28采形特征采C29形特征刀D30讠言字旁同源言Y31刂立刀同源刀D32丷倒八字同源八B33私字同源私S34卩单耳刀形特征耳E35阝双耳刀形特征耳E36忄竖心同源心X37辶走之儿同源走Z38小反小同源小X39攵反文同源文W40夂折文同源文W41犭反犬同源犬Q42饣食字旁同源食S43礻示补儿同源示S44牛牛字旁同源牛N45爫爪字头同源爪Z46衤衣补儿同源衣Y47竹字头同源竹Z48足足定旁同源足Z49钅金字旁同源金J50四四字头同源四S51灬同源火H氵,扌,艹,亻4个偏旁型元的音信息是定义的。见后2.序码坐标码通过″序码″来提取汉字结构的″形信息″。序码″有规律的两笔笔画的组合称序码″。坐标码采用下述三种序码(1)音序码基本型的第一,二两笔组合称″音序码″。(2)端序码基本型或是型层,合体字的首末笔画的组合称″端序码″。(3)全序码全序码由两码构成,首码即基本型的″音序码″,次码即基本型余部的″端序码″。即提取基本型的第1,2,3末,笔画编码。它们的使用方法将在编码规则中述及。序码的可行性我们知道每一个人均可以正确书出自己并不认识的汉字,因为″笔顺″是汉字中最基本的常识,而且序码所涉及的笔画仅为两个位置特殊的笔画,所以说序码具有简单易行性。序码的意义序码的形式很简单,却是坐标码不可缺少的理论支柱之一。第一,它解决了非型元基本型的输入问题。第二,它可以进入汉字结构的内部,准确地提取形信息,保证了编码信息的多样性与完备性。第三,它的引入,使得坐标码可以不用以往码所使用的″特征信息元归并后输入″的形信息输入方法,使坐标码的输入环节异常简单,方便,坐标码的键盘内容比音码中的双拼双音方法的键盘内容还要简单。序码的基础---笔顺笔顺写正楷字时,下笔的先后顺序叫″笔顺″。笔顺,是人们长期书写经验的总结,是实践中形成的,有如下主要规则从上到下三言豆分早吕;从左到右以叶川块形朋;先横后竖十寸井正丰木;先撇后捺人入八尺火爪;先中间后两边小承办水永亦;从外到内飞月风向内间;从里到外凶函这远建;先主体后串心韦册丰串书;先主体后点点我发犬威龙;先点点后主体义主为;八.型元的变形与归并在坐标码中,型元存在归并现象,归并有两种情况。1.归并的双方形状差异较大如忄与,尤与尢,聿与肀,这种归并常见于汉字字典之中,有其归并的道理。在坐标码中,只承认型元归并表中列出的情况。2.归并的双方结构相似汉字是一种方块文字,不论汉字结构的繁简,也不论汉字笔画的多少,汉字的外形都是一个方块,为保持方块内部的平衡,构字的″基本型″就只能做一些改变---变得或大或小,或长或扁,以适应方块的要求;一些笔画也因此做一定的改动,以避免笔画间的覆压。如材中的″木-″;撬中的″-毛″;鸠中的″-九″。(1)对于含″折″笔的″非交叉″偶型元,由于″折″笔的形态很多,而且非交叉的两笔型其结构特征点又少,所以坐标码规定″含折笔的非交叉偶型元,只要折笔发生形变,型元归并表又未承认,两个型就不能归并,变化后的型是一个非型元型。″如见中″″,就不是偶型元″冂″。(2)对余下的型元坐标码规定下述两种情况下可以自然归并,而且不列入型元并表。A.全等型归并若型元的某一笔画发生形变,但整体的结构关系不变,笔画的种类也未变,则称这两个型是″全等型″可以归并如又--;八-;毛-;王-;木-。B.复纵笔型归并按运笔方向将竖,竖撇及折的竖段,称为″纵向笔画或线段″,一个型元如果含有两个及两个以上的″长的″″纵向笔画或线段″,当″纵向笔画或线段″形变,但仍为″纵向笔画或线段″时,允许两个型归并。如甩--;用--;开-;井--亦;月-;。注″月″与″″在坐标码中,是有规律可循的,在上下关系中,认为是″″,而在左右关系时,认为是″月″,如明,朋,胃,娟,复纵笔型允许归并,是因为此类型的结构特征点多,变化一点之后,仍然易于识别,仍然相近,所以坐标码认为它们可以自然归并。其它情况其它的变形,仅当型元归并表承认的情况可以归并,否则不可以归并。相归并的型元有何不同输入时,它们的″音″信息相同,但它们的″序码″将有所不同(全等形不变)。九.坐标码的键盘键盘用来输入汉字的编码信息,坐标码的键盘非常简单,它的内容少于音码的″双拼双音″,详见附录中的坐标码键盘示意图。坐标码键盘由四部分组成1英文字母用以输入型元的″音″信息″-第一个拼音字母。英文字母位置不变。2序码用以输入″形″信息-序码。将键盘上的25个个英文字母(N不用)分成五个区,对应序码的首笔″横,竖,撇,捺,折″,每个区按″横,竖,撇,捺,折″顺序从中间向两侧排列对应序码的次笔,这样25个序码元对应了25个英文字母,构成了″序码键盘″。由于″序码键盘″极简单又极富规律,所以无须记忆,容易掌握,3.一级简码坐标码的26个一级简码,被组成5句话定义在26个字母键上,输入时一字一键,用以提高单字输入的速度。4.6个特殊型元型元艹,木,氵,扌,月,亻的音信息是定义的,借以离散汉字,减少重码,定义关系如下氵-U;扌-l;艹-A;木-V;亻-O;月-P序码和键盘的对应关系如下序码(首笔/次笔)一/一一/丨一/丿一/丶一/字母GFDSA序码(首笔/次笔)丨/一丨/丨丨/丿丨/丶丨/字母HJKLM

    表7注CELMET是三维网状多孔件,由SumitomoElectricIndustriesLtd.制造;#7是型号,表示每单位长度(1英寸)微孔数为50-70。爽大,DZZZ座广,人,人,土;GRRT2.特殊情况(1)特殊的型元汉字在键位上的分布(即第1码的分布情况)是不均匀的。V,U,I,不是汉语拼音,只是序码键位,所以键位上的汉字极少;O.P.A键位上的汉宇也很少,如A键,不算序码的话只有一个″凹″字,为了充分地利用键位,更好地离散汉字减少重码,坐标码将汉字中最大的6个型元部首氵,木,扌,艹,月,亻,采用定义的方式放在上述6个键位上,如此,它们的输入也就与本身无关。对应关系如下氵-U;扌-I;艹-A;木-V;亻-O;月-P。(2)特殊情况的编码规则上述6个键位和K键上的汉字,第1个基本型绝大部分是一样的,即氵,扌,艹,木,亻,月,口。若按一般情况取码,双型字的第3码,三型字的第4码(端序码)首笔将失去离散汉字的功能,为此,坐标码将首基本型为上述6个型元(不包括″月″)的汉字,做为特殊情况,单立编码规则。1)单型字(包括偏旁)多型字编码规则同一般情况。2)双型字码长为4,第1,2码,同一般情况;第3,4码,取″次基本型″的全序码″。实际上,后三码就是″次基本型″的″全码″。3)三型字码长为4,第1,2,3码,同一般情况;第4码,取后两个基本型的″端序码″。词组编码规则单字取码,取的是基本型的特征信息,词组取码则以单字的拼音首字母为主。由于词组输入方式更多地引入整字的拼音首字母,彻底地消除了单字的端序码,所以词组方式下的坐标码文字性更显著,取码更直观,快速,这是坐标码可以快速输入汉字的另一个理论根据。双字词每个字取其全码的前两个码如坐标,RRVY人民,RW*MB三字词第1,2,3码分别是三个字的拼音首字母。第4码取末字全码的首码。如自行车ZXCC中草药ZCYA多字词顺序提取第1,2,3,末字的拼音首字母。如经济特区JJTQ艰苦奋斗JKFD本发明之优点编码方法简单,易于实现计算机汉字快速输入,重码率低,便于记忆,便于学习。具体实施例方式例1″月″,″禾″字月,是满是五个不拆分原则的字型元,码长为3,月YQ*G*禾,含有型元″木″,但根据规则″单笔画撇不可以单独做基本型″,所以,″禾″也是字型元码长为3,禾HT*L*月,禾两字第1个码是它们的″音信息″,第2,3码是它们的″全序码″。例2″所″字″所″含有两个基本型,一个是型元基本型″斤″,一个是非型元基本型″″。编码为所E*JT*R*例3″科″字″科″含有三个型元基本型,禾,,十编码为HDSR*,第四码补的是整字的端序码R*。例4″攀″字攀,有6个型元基本型,为″木,,,木,大,手″。编码顺序提取第1,2,3末,基本型编码;攀MZZS。例5″考″字考,根据″准型元″予以拆分,含有两个非型元基本型″″,编码完全由序码构成考F*A*D*A*权利要求1.一种计算机汉字输入坐标码编码方法,其特征是该编码方法由坐标码无″字根集″的拆字方法及坐标码的编码方法两部分组成,坐标码无″字根集″的拆字方法由五个不拆分原则;汉字拆分的依据--型元集;汉字拆分的相关因素;汉字的拆分规则组成,坐标码的编码方法由用于编码和输入的信息;坐标码与键盘的对应关系编码规则组成;其中型元集由三部分组成(1)符合五个不拆分原则的汉字和常用非字偏旁;(2)拆不出(1)中型元的汉字和常用非字偏旁,也是型元;(3)含有型元,但在坐标码的拆分规则中不允许拆分的汉字和常用非字偏旁,也是型元对于国标GB2312(80)字符集,共有型元334个,其中汉字279个,常用偏旁55个;汉字拆分的相关因素由型的分类与性质,型的部位关系,型之间的连接关系所组成;其中用于编码和输入的信息由″音信息″和″序码″组成。2.按权利要求1所述之编码方法,其特征在于所述之五个不拆分原则为(1)一个笔画不允许拆成两截,断在两个型中,原因单一笔画理应完整;(2)相交叉的笔画不允许拆分,原因″交叉″是一种紧密的组合方式;(3)相端连的笔画不允许拆分,原因″端连″也是一种紧密型组合方式;(4)由两笔构成的汉字和常用非字偏旁不允许拆成笔画,原因由笔画的原始功能推理而得;(5)至少被某一笔画完全隔离的,结构上对称分布并被包容的,两个单笔画不允许拆出组成一个型,原因文字学指出″汉字的结构是一种积木式结构″。3.按权利要求1所述之编码方法,其特征在于汉字拆分的相关因素一型的分类与性质为一个型在汉字中的″稳定性″---既做″基本型″能力的大小,与构成它的笔画数有关,也与笔画间的组合方式有关,坐标码根据笔画数和组合方式将汉字中的型分类如下(1)单型仅有一个笔画的型称″单型″,型元集有两个单型型元,一和乙。性质单型的稳定性最弱,只有特殊情况下才可以做基本型;(2)偶型由两笔构成的型称″偶型″;性质偶型的性质很特殊,汉字结构不确定因素集中地反映在偶型的身上。偶型的″稳定性″居于单型和成型之间,偶型可否作基本型受诸多因素的影响,(3)成型由三笔及三笔以上笔画构成的型称″成型″,成型根据笔画之间的组合方式又分为三种1)正闭合型至少三面是由横,竖线段构成的闭合型及与之相交叉的笔画称″正闭合型″;2)相交型笔画间含有相交关系的成型称″相交型″3)堆积型笔画间仅含粘连,离散关系的成型称″堆积型″性质成型的″稳定性″比较强,以成型元而言,一般情况下它们都是基本型,只有特殊情况下,成型元也可以不是基本型。4.按权利要求1所述之编码方法,其特征在于汉字折分的相关因素--型的部位关系,部位关系是指汉字中型之间彼此的位置关系,汉字结构的部位关系共有四种单一关系,上下关系,左右关系,内外关系,坐标码认为上下,左右部位关系中的型,彼此之间相对独立,是一种并列关系,适宜拆分;而内外关系中的型,彼此之间存在一种联系,相对而言独立性较差,对拆分有一定的约束。5.按权利要求1所述之编码方法,其特征在于汉字折分的相关因素--型之间的″连接关系″,″连接关系″是指两型之间的接触方式,即笔画之间的连接方式,型之间的连接关系分为两类″离散″与″粘连″,离散,显然是有利于拆分的条件;粘连,根据情况又可分为三种具体情况(1)正闭合两个型若组成正闭合型,则两个型之间的粘连方式称″正闭合″;(2)直连两型之间相粘连笔画之间的关系,均为直连关系时,两型之同是″直连″关系;(3)斜连两型之间相粘连笔画之间的关系,存在斜连关系时,两型之间就是″斜连″关系;坐标码认为,正闭合是型之间紧密的粘连方式;直连是比较紧密的连接方式,斜连是最弱的粘连方式。6.按权利要求1所述之编码方法,其特征在于汉字的折分规则为规则1完全由型元组成的汉字和型层,型元均是基本型,可拆;规则2拆不出型元的汉字和常用非字偏旁,即无型元做为判定依据时,其本身也是型元,不可拆;规则3当型元和非型元型相组合时,型元不一定是基本型,拆分结果与(1)型的类别(2)部位关系,(3)连接关系三者有关;1)型与型之间有四种连接方式,对于正闭合″坐标码规定规则3-1型与型为正闭合关系时,仅当双方均为型元时可拆,两者都是基本型,否则不可拆;2)对于型之同的″离散″和″直连″″斜连″三种连接方式,坐标码有如下规则规则3-2当型元是成型元时,只要对方不是单型,即可拆分,双方均为基本型″;规则3-3当型元是偶型元时,拆分结果将取决于″型的类别,部位关系和连接关系″三个因素″;①当对方为偶型和堆积型时即不粘连也不是内外关系时,双方均是基本型,可拆;存在粘连情况(直连或是斜连)或内外关系时,偶型元是基本型的一部分,不可拆;②当对方为相交型时在斜连或离散情况下,不论部位关系如何,双方均是基本型,可拆;在直连情况下,上下,左右部位关系可拆,双方均为基本型;内外部位关系不可拆,型元是基本型的一部分;规则3-4″当型元是单笔型元′一′和′乙′时,仅当(1)对方是成型;(2)彼此离散;(3)不为内外关系,三个条件均满足时,可拆,双方均为基本型,否则不可拆规则4单笔画撇、捺不允许单独做基本型;单笔画横、竖、折可以单独做基本型,但要同时满足下面三个条件与相邻型不为内外关系;与相邻型不粘连;相邻型是型元;规则5当″一″与其它型元相组合时,″一″在拆分过程中以笔画横对待,拆分结果不受它的型元身份的影响,拆分结果是基本型,″一″是型元;否则,就是笔画横;规则6准型元在汉字拆分上,其功能等同于成型元;规则7型层与单笔画″横,竖,折″相组合时,单笔画是基本型;规则8拆分汉字出现两种情况时,根据下述顺序拆分(1)对于型元″型元优于非型元;成型元优于偶型元;正选型元优于归并型元″;(2)对于连接关系″离散优于粘连;斜连优于直连″;7.按权利要求1所述之编码方法,其特征在于用于编码和输入的信息--为音信息和序码,音信息是型元基本型码名的第一个拼音字母;序码为有规律的两笔笔画的组合,它们是汉字特征信息元″基本型″的特征信息。8.按权利要求1所述之编码方法,其特征在于坐标码与键盘的对应关系为音信息与键盘字母一一对应,序码对应关系如下序码(首笔/次笔)一/一一/丨一/丿一/丶一/字母GFDSA序码(首笔/次笔)丨/一丨/丨丨/丿丨/丶丨/字母HJKLM序码(首笔/次笔)丿/一丿/丨丿/丿丿/丶丿/字母TREWQ序码(首笔/次笔)丶/一丶/一|丶/丿丶/丶丶/字母YUIOP序码(首笔/次笔)/一/丨/丿/丶/字母BVCXZ。9.按权利要求1所述之编码方法,其特征在于编码规则为单字编码规则和词组编码规则,其中单字编码规则一般情况为单型字码长为3,由字型元的音和全序码组成,即″音″+″全序码″+空格双型字码长为4,第1,2码,按笔顺提取基本型的″音″或″音序码″,第3,4码,按笔顺提取基本型各自的″端序码″;三型字码长为4,第1,2,3码,按笔顺提取三个基本型的″音″或″音序码″,第4码取整字的″端序码″;多型字码长为4,按笔顺提取第1,2,3末基本型的″音″或″音序码″;特殊情况为坐标码将首基本型为艹,木,氵,,亻,口6个型元的汉字做为特殊情况,单立编码规则,单型字与多型字编码规则同一般情况;双型字码长为4,第1,2码,同一般情况;第3,4码,取″次基本型″的全序码″三型字码长为4,第1,2,3码同一般情况,第4码取后两个基本型的端序码;词组编码规则双字词每个字取其全码的前两个码;三字词第1,2,3码分别是三个字的拼音首字母,第4码取末字全码的首码;多字词顺序提取第1,2,3,末字的拼音首字母。全文摘要本发明属于一种计算机汉字输入之编码方法,本编码方法由坐标码无“字根集”的拆分方法与坐标码的编码方法所组成,其拆分方法包括坐标码五个不拆分原则,汉字拆分依据---型元型,汉字拆分相关因素,汉字拆分规则,其编码方法有编码和输入的信息,坐标码与键盘的对应关系,编码规则等。优点:编码方法简单,易于实现计算机汉字快速输入、重码率低,便于记忆,便于学习。文档编号G06F3/023GK1173660SQ9611952公开日1998年2月18日申请日期1996年10月31日优先权日1996年10月31日发明者叶平申请人:叶平

    展开全文
  • 为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的...

    为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。到了后来又公布了国家标准GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,简称GB18030。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。在区位码中,01-09区为682个特殊字符,16-87区为汉字区,包含6763个汉字 。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。

    从汉字到区位码的转换。区位码是与汉字一一对应的编码,用四位数字表示, 前两位从01 到94称区码,后两位从01到94称位码。 一个汉字的前一半为“160+区码”的字符,后一半为“160+ 位码”的字符。例如:“刘”的区位码是 3385,其意为区码33位码85,它是由160+33=193和160+85=245的两个字节组成。即 0xC1F5,它就是汉字的 gb2312 编码。

    下面程序将汉字 gb2312 转为相应的区位码:

    #include

    #include

    using namespace std;

    int main()

    {

    // temp[0] 为高字节,temp[1] 为低字节

    // 当输入单个 ascii 字符时,只存进 temp[0]

    // 当输入的不是中文或单个 ascii 字符时,程序退出

    unsigned char temp[2];

    cin >> temp;

    while(temp[1])

    {

    cout << setw(2) << setfill('0') << temp[0] - 160;  // 高 2 位

    cout << setw(2) << setfill('0') << temp[1] - 160 << endl; // 低 2 位

    // 输入下一个字符前,先将 temp[1] 清零

    temp[1] = 0;

    cin >> temp;

    }

    return 0;

    }

    字符编码简介

    Unicode是一种字符编码规范。先从ASCII说起。ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits)。因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他一些符号 。而最高位为1的另128个字符被成为“扩展ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号。这种字符编码规范显然用来处理英文没有什么问题。(实际上也可以用来处理法文、德文等一些其他的西欧字符,但是不能和英文通用),但是面对中文、阿拉伯文之类复杂的文字,255个字符显然不够用,于是,各个国家纷纷制定了自己的文字编码规范,其中中文的文字编码规范叫做“GB2312-80”,它是和ASCII兼容的一种编码规范,其实就是利用扩展ASCII没有真正标准化这一点,把一个中文字符用两个扩展ASCII字符来表示。但是这个方法有问题,最大的问题就是,中文文字没有真正属于自己的编码,因为扩展ASCII码虽然没有真正的标准化,但是PC里的ASCII码还是有一个事实标准的(存放着英文制表符),所以很多软件利用这些符号来画表格。这样的软件用到中文系统中,这些表格符就会被误认作中文字,破坏版面。而且,统计中英文混合字符串中的字数,也是比较复杂的,我们必须判断一个ASCII码是否扩展,以及它的下一个ASCII是否扩展,然后才“猜”那可能是一个中文字 。

    总之当时处理中文是很痛苦的。而更痛苦的是GB2312是国家标准,台湾当时有一个Big5编码标准,很多编码和GB是相同的,所以……,嘿嘿。这时候,我们就知道,要真正解决中文问题,不能从扩展ASCII的角度入手,也不能仅靠中国一家来解决。而必须有一个全新的编码系统,这个系统要可以将中文、英文、法文、德文……等等所有的文字统一起来考虑,为每个文字都分配一个单独的编码,这样才不会有上面那种现象出现。于是,Unicode诞生了。

    Unicode有两套标准,一套叫UCS-2(Unicode-16),用2个字节为字符编码,另一套叫UCS-4(Unicode-32),用4个字节为字符编码。以目前常用的UCS-2为例,它可以表示的字符数为2^16=65535,基本上可以容纳所有的欧美字符和绝大部分的亚洲字符 。UTF-8的问题后面会提到。在Unicode里,所有的字符被一视同仁。汉字不再使用“两个扩展ASCII”,而是使用“1个Unicode”,注意,现在的汉字是“一个字符”了,于是,拆字、统计字数这些问题也就自然而然的解决了。但是,这个世界不是理想的,不可能在一夜之间所有的系统都使用Unicode来处理字符,所以Unicode在诞生之日,就必须考虑一个严峻的问题:和ASCII字符集之间的不兼容问题。我们知道,ASCII字符是单个字节的,比如“A”的ASCII是65。而Unicode是双字节的,比如“A”的Unicode是0065,这就造成了一个非常大的问题:以前处理ASCII的那套机制不能被用来处理Unicode了。另一个更加严重的问题是,C语言使用'\0'作为字符串结尾,而Unicode里恰恰有很多字符都有一个字节为0,这样一来,C语言的字符串函数将无法正常处理Unicode,除非把世界上所有用C写的程序以及他们所用的函数库全部换掉。于是,比Unicode更伟大的东东诞生了,之所以说它更伟大是因为它让Unicode不再存在于纸上,而是真实的存在于我们大家的电脑中。那就是:UTF。UTF = UCS Transformation Format UCS转换格式。它是将Unicode编码规则和计算机的实际编码对应起来的一个规则。现在流行的UTF有2种:UTF-8和UTF-16。其中UTF-16和上面提到的Unicode本身的编码规范是一致的,这里不多说了。而UTF-8不同,它定义了一种“区间规则”,这种规则可以和ASCII编码保持最大程度的兼容。UTF-8有点类似于Haffman编码,它将Unicode编码为00000000-0000007F的字符,用单个字节来表示;00000080-000007FF的字符用两个字节表示00000800-0000FFFF的字符用3字节表示。因为目前为止Unicode-16规范没有指定FFFF以上的字符,所以UTF-8最多是使用3个字节来表示一个字符。但理论上来说,UTF-8最多需要用6字节表示一个字符。在UTF-8里,英文字符仍然跟ASCII编码一样,因此原先的函数库可以继续使用。而中文的编码范围是在0080-07FF之间,因此是2个字节表示(但这两个字节和GB编码的两个字节是不同的),用专门的Unicode处理类可以对UTF编码进行处理。

    下面说说中文的问题。由于历史的原因,在Unicode之前,一共存在过3套中文编码标准。GB2312-80,是中国大陆使用的国家标准,其中一共编码了6763个常用简体汉字。Big5,是台湾使用的编码标准,编码了台湾使用的繁体汉字,大概有8千多个。HKSCS,是中国香港使用的编码标准,字体也是繁体,但跟Big5有所不同。这3套编码标准都采用了两个扩展ASCII的方法,因此,几套编码互不兼容,而且编码区间也各有不同。因为其不兼容性,在同一个系统中同时显示GB和Big5基本上是不可能的。后来,由于各方面的原因,国际上又制定了针对中文的统一字符集GBK和GB18030,其中GBK已经在Windows、Linux等多种操作系统中被实现。GBK兼容GB2312,并增加了大量不常用汉字,还加入了几乎所有的Big5中的繁体汉字。但是GBK中的繁体汉字和Big5中的几乎不兼容。GB18030相当于是GBK的超集,比GBK包含的字符更多。

    谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词

    这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:

    问题一:

    使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?

    Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢?

    问题二:

    最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode(UCS2)、GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。

    查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。写成一篇文章,送给有过类似疑问的朋友。本文在写作时尽量做到通俗易懂,但要求读者知道什么是字节,什么是十六进制。

    0、big endian和little endian

    big endian和little endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是big endian。若是将49写在前面,就是little endian。

    1、字符编码、内码,顺带介绍汉字编码

    字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

    从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

    有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

    在DBCS中,GB内码的存储格式始终是big endian,即高位在前。GB2312的两个字节的最高位都是1。但符合这个条件的码位只有128*128=16384个。所以GBK和GB18030的低字节最高位都可能不是1。不过这不影响DBCS字符流的解析:在读取DBCS字符流时,只要遇到高位为1的字节,就可以将下两个字节作为一个双字节编码,而不用管低字节的高位是什么。

    2、Unicode、UCS和UTF

    前面提到从ASCII、GB2312、GBK到GB18030的编码方法是向下兼容的。而Unicode只与ASCII兼容(更准确地说,是与ISO-8859-1兼容),与GB码不兼容。例如“汉”字的Unicode编码是6C49,而GB码是BABA。

    Unicode也是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。UCS可以看作是"Unicode Character Set"的缩写。UCS规定了怎么用多个字节表示各种文字。怎样传输这些编码,是由UTF(UCS Transformation Format)规范规定的,常见的UTF规范包括UTF-8、UTF-7、UTF-16。

    3、UTF编码

    UTF-8就是以8位为单元对UCS进行编码。从UCS-2到UTF-8的编码方式如下:

    UCS-2编码(16进制) UTF-8 字节流(二进制)

    0000 - 007F 0xxxxxxx

    0080 - 07FF 110xxxxx 10xxxxxx

    0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx

    例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。

    UTF-16以16位为单元对UCS进行编码。对于小于0x10000的UCS码,UTF-16编码就等于UCS码对应的16位无符号整数。对于不小于0x10000的UCS码,定义了一个算法。不过由于实际使用的UCS2,或者UCS4的BMP必然小于0x10000,所以就目前而言,可以认为UTF-16和UCS-2基本相同。但UCS-2只是一个编码方案,UTF-16却要用于实际的传输,所以就不得不考虑字节序的问题。

    4、UTF的字节序和BOM

    UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如收到一个“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是“奎”还是“乙”?Unicode规范中推荐的标记字节顺序的方法是BOM。是Byte Order Mark。BOM是一个有点小聪明的想法:在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。

    UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。Windows就是使用BOM来标记文本文件的编码方式的。

    展开全文
  • 汉字编码汉字处理包括汉字编码输人、汉字的存储和汉字的输出等环。节。也就是说计算机处理汉字,首先必须先将汉字代码化,即对汉字进行编码。无论西方的拼音文字还是汉字这种象形文字,它们的"意"都寓于它们的"形...
  • 使用 %xy 对特殊字符例如汉字进行百分比编码,其中“x”和“y”为十六进制字符(0-9 和大写字母 a-f),使用小写将引发错误。 7. api 3.0 签名 v1示例 注意: 如果是在 python 2环境中运行,需要先安装 requests ...
  • python的中文问题一直是困扰新手的头疼...1. print打印中文的问题:在编辑器中输入一段测试代码:s=’测试’print s运行结果如下:Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\...
  • 1、外码外码也叫输入码,是用来将汉字输入到计算机中的一组键盘符号。常用的输入码有拼音码、五笔字型码、自然码、表形码、认知码、区位码和电报码等。2、交换码计算机内部处理的信息,都是用二进制代码表示的,汉字...
  • 计算机汉字处理的不同阶段使用不同的编码方法,在输入汉字时使用 , 在输入汉字时使用英文ASCII, 在输出汉字时使用双字节中文码。 计算机只识别由0、1组成的代码,ASCII是英文信息处理的标准编码汉字信息...
  • 使用方法之前要确保edittext进行控件实例化 public void initVerification(){ edittext.... if (c >= 0x4e00 && c ) { // 根据字节判断 // 如果是中文,则清除输入的字符,否则保留 s.delete(i,i+1); } } } } }); }
  • 【技术实现步骤摘要】【国外来华专利技术】本专利技术属于计算机汉字信息处理汉字的电脑编码方法,目前已提出很多方案,都以汉字的代码代表一个字或一组词,通过键盘输入,形成计算机中文信息。众多的方案中均存在...
  • 微软双拼输入法只需输入汉字的声母和韵母,每个汉字输入两个。三、智能ABC汉字输入法智能ABC汉字输入法是一种以拼音为主的智能化键盘输入法,字、词输入既可采用全拼、简拼、混拼形式,也可以采用纯笔形代码,或者...
  • 输入时计算机首先输入糖皮列哪良反质激种起下会引长期应(使用素。腺后切除双侧肾上,汉字换缺乏动物的主要原因是死亡。属的激垂体分泌于腺素是。泌的不是下列合成哪种垂体、分由腺激素。体所下列腺垂种激哪一...
  • 中文输入纠错任务整理

    千次阅读 2017-07-09 11:40:06
    整理了一下关于中文输入纠错相关的内容
  • 实现textarea限制输入字数(包含中文只能输入10个,全ASCII能够输入20个) textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它能通过...
  • 又称汉字外码,无论是区位码或国标码都利于输入汉字,为方便汉字的输入而制定的汉字编码,称为汉字输入码汉字输入码属于外码。不同的输入方法,形成了不同的汉字外码。常见的输入法有以下几类: 按汉字的排列...
  • 汉字信息的编码知识⑴国标:是指我国1981年公布的“中华人民共和国国家标准信息交换汉字编码”,代号为“GB2312-80”。由连续的两个字节组成。2.机内码:在计算机内表示汉字的代码是汉字机内码,汉字机内码由国标...
  • // 可以用,此程序实现的是是文字转换到机内码。... //输入一串汉字和数字的混合字符, 经过程序转换, 对应输出一串16进制(数字-〉ASII汉字—〉国标) CString temp; GetDlgItemText(IDC...
  • 汉字编码及区位查询算法

    千次阅读 2016-12-03 07:59:35
    为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的...
  • 最近根据需要整理了一下关于中文输入纠错相关的内容,特此记录一下。 1. 中文输入纠错任务定义 1.1. 任务定义 任务定义:中文拼写任务指的是对于自然语言在使用的过程中出现的问题进行自动的识别和纠正。  中文...
  • 每个汉字及符号都有一个区位码,即每个汉字有一个区号(两位十进制...输入码被接受后就由汉字操作系统的“输入码转换模块”转换为机内码,与所采用的键盘输入法无关。机内码是汉字最基本的编码,不管是什么汉字系统...
  • 汉字系统中的过程包括区位、国标和机内码,其中的转换关系如下: 1.区位(十进制)转换成区位(十六进制)。 这里要把前两个位换成十六进制,然后后两位换成十六进制。 例如,某汉字的区位是5448,这样把...
  • 另外一种方法实现textarea限制输入字数(包含中文只能输入10个,全ASCII能够输入20个) <script> function check() { var regC = /[^ -~]+/g; var regE = //D+/g; var str = t1.value; if (regC.test(str)...
  • 汉字编码

    2017-10-04 16:52:12
    汉字的区和位: 由于国标是四位十六进制,为了便于交流,大家常用的是四位十进制的区位。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际...
  •   1 ....首先,很多人可能会产生一个误区,觉得之所以不用中文是因为编码太复杂,技术上实现了。其实密码是可以输入中文的,就像一开始的QQ的密码就是可以设置成中文的,只是实现难度上...
  • 首先,注意到一点,GB2312虽说是对中文编码,但是里面有对26个英文字母和一些特殊符号的编码,按理说这和ASCII重合的部分应该无需设置,沿用ASCII中就行了?但是当时在制定GB2312之前,就决定覆盖掉ASCII中符号和...
  • 汉字的区位,内码是一回事吗

    千次阅读 2016-01-07 00:22:32
    输入码 汉字的字数繁多,字形复杂,常用的汉字有6000—7000个,比英文的26个字母要多得多。在计算机系统中使用汉字,首先遇到的问题就是如何把汉字输入到计算机内。为了能直接使用西文标准键盘进行输入,必须为汉字设计...
  • 汉字输入教学系统中词组切分方法的设计 朱晓旭 苏州大学计算机工程系 苏州大学纵横汉字信息技术研究所 【摘 要】词组切分是现代中文信息处理的基础,是汉语自然语言理解与处理、机器翻译、智能检索、电子词典等...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,180
精华内容 34,072
关键字:

不属于汉字输入码的是