专利名称:一种中文字符的转换方法及其系统的制作方法
技术领域:
本发明涉及一种字符的转换方法,尤其是一种中文字符的转换方法,以及为实现此方法而采 用的系统。
背景技术:
近年来,随着数字电视(Digital TV, DTV)、高清数字电视(High Definition TV, HDTV)以 及网络电视(Internet Protocol TV, IPTV)的发展,人们对作为其辅助设备的机顶盒(Set Top Box, STB)也提出了更多的要求。机顶盒要能够支持视频点播、网络浏览、信息服务等业务 功能,它作为一种家用数字平台将被广泛用于不断扩大的交互式多媒体数字内容服务领域。在使用机顶盒进行搜索时,由于机顶盒上没有中文键盘,因此如果想通过机顶盒在电视屏幕 上搜索电视节目,只能借助于机顶盒上的英文键盘进行输入。也就是说,需要通过英文键盘 输入拼音对中文电视节目进行搜索。如果机顶盒上也没有英文键盘,则可以通过一个在电视屏幕上的软键盘对电视节目进行搜索, 在该软键盘上具有英文键盘,能够通过该键盘输入拼音实现对中文电视节目的搜索。现有技术中如果要将中文字符转换为其拼音首字母, 一般通过先检索中文字符、再由该中文 字符査找其拼音首字母的方法进行,如图1所示。图1的左边是拼音字母的排列表,该表的 排列顺序类似于汉语字典的排列顺序,图1的右边是与同一个拼音相对应的一系列中文字符。 如果要将一个中文字符转换为其拼音首字母,则首先用中文字符检索方法检索到该中文字符, 然后从图1所示的表中找到该中文字符对应的拼音,进而找到其首字母。例如,如果要査找 电影"英雄",首先通过中文字符检索方法检索到"英",然后从图1中可以找到"英"所对 应的拼音为"ying",从而得到其拼音首字母"y",对"雄"的处理过程与"英"类似。尽管上述方法能够将中文字符转换为其拼音首字母,但是上述检索中文字符的过程需要的时
间较长,尤其在需要检索的中文字符较多(例如电影名称比较长的时候)会花费更多的检索 时间,从而为使用者带来不便。而且,由于存储图1所示的拼音与汉字对应表需要一定数量 的内存空间,因此对于转换系统的内存容量也提出了更多要求。发明内容因此,本发明的主要目的在于提供一种中文字符的转换方法,将中文字符快速地转换为拼音 首字母或者拼音首字母的组合,以便使用者在输入该拼音方式时,能够快速査找到对应的中 文字符。为达到上述目的,本发明的技术方案具体是这样实现的 一种中文字符的转换方法,该方法 包含以下步骤-(1) 构建数组与中文字符的拼音首字母的对应表;(2) 获取待转换的中文字符的索引值;(3) 按照上述索引值在上述对应表中査找上述待转换的中文字符的拼音首字母。根据本发明的一个方面,在步骤(2)中,将待转换的中文字符的编码值减去中文字符编码表 中的一个基础值,得到待转换的中文字符的索引值。根据本发明的另一个方面,上述中文字符的编码为统一码。根据本发明的再一个方面,将待转换的中文字符的统一码值减去中文字符统一码表中的第一 个中文字符的统一码值,得到待转换的中文字符的索引值。根据本发明的又一个方面,通过中文字符与中文字符统一码的对照表获取上述待转换的中文 字符的统一码值。根据本发明的又一个方面,通过函数获取上述待转换的中文字符的统一码值。相应地,本发明还提出一种中文字符的转换系统,该系统包括以下单元 (1)用于存储数组与中文字符的拼音首字母的对应表的存储单元 (2) 用于获取待转换的中文字符的索引值的计算单元;(3) 用于按照上述索引值在上述对应表中査找上述待转换的中文字符的拼音首字母的 査找单元。在上述装换系统中,上述计算单元中包括一个编码单元,用于将待转换的中文字符转换为中 文字符编码值。通常这种中文字符的编码为统一码。可见,本发明所提供的一种中文字符的转换方法及其系统,具有以下的优点和特点(1) 采用本发明方法将中文字符转化为其拼音首字母时,可以先将中文字符用函数生成其 编码值,然后减去一个编码值的基础值,得到中文字符的索引值,再在构建的数组与 中文字符的拼音首字母对应表中查找索引值即可得到中文字符的拼音首字母。由于中 文字符用函数生成其编码值的速度很快,其后减去基础值而得到索引值、再由索引值 査找的过程同样非常迅速,因此本方法能够快速地提高由中文字符得到其拼音首字母 的处理速度。(2) 本发明方法中使用函数将中文字符生成其编码值无需消耗很多内存,同样,在其后减去基础值而得到索引值、再由索引值査找的过程同样无需太多内存空间,因此节省了 大量的内存。
下面结合附图对本发明的具体实施方式
作进一步详细的描述,其中-图1是现有技术中将中文字符转换为其拼音首字母的方法示意图。图2是现有技术中中文字符与统一码的对照表节选。 图3是本发明的中文字符转换方法的实施例。
具体实施方式
中文字符可以采用多种形式进行编码,例如处理汉字常用的GB2312编码。而统一码Unicode
(也称万国码、单一码)则是一种在计算机上使用的字符编码。它为包括中文在内的每种语 言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、 处理的要求。每个中文字符都有与其相对应的统一码Unicode。中文字符与统一码Unicode的对应关系可以 由一个对照表加以确定,该对照表的节选如图2所示。图2中的第一行和第一列表明Unicode 编码值,行和列的交叉点处的中文字符表明对应的该Unicode码的中文字符。例如,0x4E00 (十六进制,"0x"表示十六进制)对应中文字符"一",0x4E01对应中文字符"丁", 0x4E02 对应中文字符"^"。通过上述对照表能够査找到与一个中文字符对应的Unicode码。采用计算机处理时,通常将 上述对照表编写为程序或者函数,只要输入中文字符,通过上述程序或者函数就能够得到其 相应的Unicode码。目前比较常用的是利用Java编写的函数。图2是本发明的中文字符转换方法的实施例。在该实施例中,第一步,首先设置一个数组array, 数组下标从0开始,数组长度为20902,标识着一共有20902个汉字。然后构建一个该数组 array与中文字符的拼音首字母的对应表,其中与数组下标相应的数组元素对应的是按顺序排 列的Unicode编码的中文字符的拼音首字母。例如,与第一个数组下标0相应的数组元素 array
对应的是Unicode编码表中的第一个中文字符"一"的拼音首字母"y";与第二个数 组下标1相应的数组元素array[l]对应的是Unicode编码表中的第二个中文字符"丁"的拼音 首字母"d";与第三个数组下标2相应的数组元素array[2]对应的是Unicode编码表中的第三 个中文字符""5"的拼音首字母"y",以此类推, 一直对应到Unicode编码表中最后一个中 文字符。第二步,假设使用该方法时待转换的中文字符是"英雄",则首先处理第一个汉字"英"。上 面已经提及,现有技术中己有将中文字符转化为其统一码Unicode的方法,例如通过程序或 者函数进行获取。因此通过上述函数就可以得到"英"的Unicode码,为0x82Fl。类似地, 通过函数可以得到中文字符"雄"的Unicode码,为0x96C4。然后,将上述将待转换的中文字符的Unicode码值减去中文字符与Unicode编码对照表中第 一个中文字符的Unicode码值,得到待转换的中文字符的索引值。由于对照表中第一个中文 字符是"一",其Unicode码值为0x4E00,因此,用中文字符"英"的Unicode码值0x82Fl 减去"一"的Unicode码值0x4E00,得到中文字符"英"的索引值,该索引值为0x34Fl,用 十进制表示为13553。类似地,用中文字符"雄"的Unicode码值0x96C4减去"一"的Unicode 码值0x4E00,得到中文字符"英"的索引值,该索引值为0x48C4,用十进制表示为18628。第三步,按照上述索引值在步骤一构建的数组与中文字符的拼音首字母对应表中査找上述待 转换的中文字符的拼音首字母。按照得到的上述索引值,"英"的索引值为"13553","雄" 的索引值为"18628",通过步骤一中构建的数组army与中文字符的拼音首字母的对应表中可 以査到,array[13553]对应的英文首字母为"y", array[18628]对应的英文首字母为"x",也就 是说,"英雄"的拼音首字母为"yx"。本发明的另外一个实施例涉及一种中文字符的转换系统,该系统包括以下单元-(1) 用于存储数组与中文字符的拼音首字母的对应表的存储单元;(2) 用于获取待转换的中文字符的索引值的计算单元;(3) 用于按照上述索引值在上述对应表中査找上述待转换的中文字符的拼音首字母的 査找单元。在上述转换系统中,上述计算单元中包括一个编码单元,用于将待转换的中文字符转换为中 文字符编码值。通常这种中文字符的编码为统一码。本发明虽然以机顶盒为主说明本发明方法的适用场合,但是并不仅限于机顶盒,在与其相似 的产品上都可以适用本发明方法及其系统。从上述实施例可以看出,本发明方法能够快速地提高由中文字符得到其拼音首字母的处理速 度,并且无需太多内存空间。
权利要求
1.一种中文字符的转换方法,其特征在于该方法包含以下步骤(1)构建数组与中文字符的拼音首字母的对应表;(2)获取待转换的中文字符的索引值;(3)按照上述索引值在上述对应表中查找上述待转换的中文字符的拼音首字母。
2. 根据权利要求1所述的中文字符的转换方法,其特征在于在步骤(2)中,将待转换的 中文字符的编码值减去中文字符编码表中的一个基础值,得到待转换的中文字符的索引值。
3. 根据权利要求2所述的中文字符的转换方法,其特征在于上述中文字符的编码为统一码。
4. 根据权利要求3所述的中文字符的转换方法,其特征在于将待转换的中文字符的统一 码值减去中文字符统一码表中的第一个中文字符的统一码值,得到待转换的中文字符的 索引值。
5. 根据权利要求4所述的中文字符的转换方法,其特征在于通过中文字符与中文字符统 一码的对照表获取上述待转换的中文字符的统一码值。
6. 根据权利要求4所述的中文字符的转换方法,其特征在于通过中文字符与中文字符统 一码的编码函数获取上述待转换的中文字符的统一码值。
7. —种中文字符的转换系统,其特征在于上述系统包括以下单元-(1) 用于存储数组与中文字符的拼音首字母的对应表的存储单元;(2) 用于获取待转换的中文字符的索引值的计算单元;(3) 用于按照上述索引值在上述对应表中査找上述待转换的中文字符的拼音首字母的 查找单元。
8. 根据权利要求7所述的中文字符的转换系统,其特征在于上述计算单元中包括一个编 码单元,用于将待转换的中文字符转换为中文字符编码值。
9.根据权利要求8所述的中文字符的转换系统,其特征在于上述中文字符的编码为统一码。
全文摘要
本发明提出一种中文字符的转换方法,该方法包含以下步骤(1)构建一个数组与中文字符的拼音首字母的对应表;(2)获取待转换的中文字符的索引值;(3)按照上述索引值在上述对应表中查找上述待转换的中文字符的拼音首字母。本发明方法能够快速地提高由中文字符得到其拼音首字母的处理速度,并且无需太多内存空间。
文档编号G06F3/023GK101118542SQ200610089020
公开日2008年2月6日 申请日期2006年7月31日 优先权日2006年7月31日
发明者堃 王 申请人:西门子通信技术(北京)有限公司