一种混合字段的排序方法及装置制造方法

文档序号:6537970阅读:114来源:国知局
一种混合字段的排序方法及装置制造方法
【专利摘要】本发明提供了一种混合字段的排序方法,其特征在于所述的排序方法包括如下步骤:将混合字段中的所有字符转换为Unicode编码值;将转换后的字段Unicode编码值进行比较排序,如果两个字段Unicode编码值完全相同,则比较其初始汉字字段中逐个汉字的Unicode编码值,并进行比较排序。本发明能够有效避免汉字与字母转换后的编码值相同,及同音字和多个汉字由于全拼字母相同转换的编码值出现错误造成的排序问题,减少排序错误,提高检索效率。
【专利说明】一种混合字段的排序方法及装置
【技术领域】
[0001]本发明创造涉及一种文字的排序方式,尤其是针对于智能终端或者车载多媒体系统中混合字段的排序方法。
【背景技术】
[0002]以车载导航,车载收音机为代表的车载多媒体系统迅速进入了智能时代。尤其是近年来与智能手机的互相交互,成为了智能车载系统必备的功能。随着手机电话本和蓝牙音频,USB音频文件等内容的交互量变大,单纯的中文显示已经不能满足智能设备的需求。像手机一样所有的信息能够按一定规则排序,能够快速检索,是必须要解决的一个问题。但是各种手机中各种信息的排序方法不尽相同,并且车载设备的造作方式与移动设备也不一样。现有车载娱乐系统中,有关中文的排序没有特别标准。有的按照数据传输的顺序排序,有的参照手机电话本的中文排序算法排序,即按照汉字的全拼,转换成对应的美国信息交换标准码(ASCII, AmericanStandardCodeFor InformationInterchange),所有汉字按所对应的ASCII数据按照从高位向底位顺序逐字节进行比较。以上的排序方法存在以下问题:
[0003]不同词组汉字全拼相同,如:词组“李楠li’ nan”和“临安lin’ an”全拼对应的ASCII码完全一致,导致二者无法区别。此外,英语,拼音和汉字混在的情况。如“张三”和“张san”,“北京”和“beijing”,汉字转换完全拼之后,两个字符串的ASCII码完全一致,导致二者无法区别。对于同音字“张”和“章”,中文全拼的字符串为“zhang”,因此会出现“张XX”和“章XX”混在一起的情况。以上情况会造成排序混乱,检索查找效率低下。

【发明内容】

[0004]本发明创造要解决的问题是提供一种能够有效克服上述缺陷的混合字段的排序方法及装置。
[0005]为解决上述技术问题,本发明创造采用的技术方案是:一种混合字段的排序方法,所述的排序方法包括如下步骤:
[0006]将混合字段中的所有字符转换为Unicode编码值;
[0007]将转换后的字段Unicode编码值进行比较排序,如果两个字段Unicode编码值完全相同,则
[0008]比较其初始汉字字段中逐个汉字的Unicode编码值,并进行比较排序。进一步的,所述的将混合字段中的所有字符转换为Unicode编码值包括如下步骤:
[0009]获取字段;
[0010]判断该字段中是否含有汉字,如果不包含汉字,则将其转换为Unicode编码,若含有汉字,则将汉字转换为该汉字字符的全拼,并在多个汉字字符小写全拼之间加标识符,并将转换后的全拼转换为相应的Unicode编码。
[0011]进一步的,所述添加的标识符为空格。
[0012]根据本发明的另一方面,还提供了一种用于混合字段的排序的装置,所述的用于混合字段的排序装置包括:
[0013]Unicode编码装置,用于将混合字段中的所有字符转换为Unicode编码值;
[0014]Unicode编码值比较装置,用于将字段Unicode编码值进行比较排序;
[0015]汉字Unicode编码值比较装置,用于将Unicode编码值完全相同的字段的汉字Unicode编码值进行比较;
[0016]排序装置,用于将根据上述装置比较的Unicode编码值按照比较排序。进一步的,所述的排序装置还包括:
[0017]全拼转换装置,用于将汉字转换为该汉字字符的全拼;
[0018]标识符添加装置,用于在多个汉字的全拼之间增加标识符。
[0019]本发明创造具有的优点和积极效果是:能够有效避免汉字与字母转换后的编码值相同,及同音字和多个汉字由于全拼字母相同转换的编码值出现错误造成的排序问题,减少排序错误,提闻检索效率
【专利附图】

【附图说明】
[0020]图1是本发明一个实例的处理流程示意图
[0021]图2是本发明的一个实例图表示意图
【具体实施方式】
[0022]为了对本发明创造更加深入的了解,下面列举一具体实施例,并结合附图,对本发明创造做进一步的详细说明。
[0023]一般排序可以通过十六进制数与一定范围内的字符一一对应,从而可以通过对十六进制数比较大小的方法进行排序。但是ASCII只适合于拉丁字符的比较,而GBCode只能与汉字字符转换,进而只适合比较汉字符。用Unicode的方法排序实际上是照顾了混合字符,实现了最大数据集化的统一排序。
[0024]图2为本发明一个实施例中多个不同的字段,下面结合图2的实例根据本发明所提供的方法对本发明做详细的解释和说明。
[0025]图2中的实例给出多个字短,按照本发明所提供的方法,首先依次检测所有的字段,检查字段中是否含有汉字,对于不含汉字的字段,如图2中所提供的表格中的1-5字段,对于此种不含汉字的字段,可以直接按照对应的Unicode编码值将其直接转换为相应的Unicode编码值,并按照比较后的Unicode编码值按照从小到大或者从大到小或其它方式进行排序;对于字段中包含汉字或者字段全部由汉字组成的字段,应将字段中的汉字先转换为相应的全拼字母,可以采用大写或小写,在本实例中采用小写字母的形式,如图2中序号6的字段01上海,先将其中的汉字“上海”转换为小写全拼“shanghai”并在两个汉字全拼之间添加一个空格“shanghai”这样操作的目的是区分出一些汉字因为拼音而产生转换的错误,如“西安”在拼音转换中可以为“xian”与汉字“先”的拼音完全相同。同理,在汉字全拼之间也可以其它标志符,如“&”等其它字符,而不仅仅局限与空格符。
[0026]由于汉字中存在在音同字不同的情况,如表中15及16中“上海”与“伤害”按照全拼转换结果都为“shanghai”,这样在排序中就会无法对这两个字段进行排序,对于这种情况,应在上述排序的基础上,重新查找“上海”及“伤害”汉字的Unicode编码值,并按照汉字的Unicode编码值对这两个字段排序,如果出现“上海”或者“上害”这两个字段,在第一个字符也相同的情况下,对第二个汉字的Unicode编码值进行比较排序,由此可以看出,对于部分汉字字段中某些汉字也完全相同的情况下,也应该逐个汉字Unicode编码值进行比较,直至能够比较排序。
[0027]在某些情况下,某些混合字段既包括汉字也有相应的拉丁字母,如图2中的相应附表中18与19行中的“张三”与“张san”按照上面所述的方法,“张三”先转换为“zhang空格san”,而“张san”则转为“zhangsan”,逐个字符比较,比较到字符“g”之后,Unicode (空格)〈Unicode (S),因此,最终的排序是“张三”〈“张san”,“张三”排在“张san”前面。
[0028]以上对本发明创造的实施例进行了详细说明,但所述内容仅为本发明创造的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明创造范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。
【权利要求】
1.一种混合字段的排序方法,其特征在于所述的排序方法包括如下步骤: 将混合字段中的所有字符转换为Unicode编码值; 将转换后的字段Unicode编码值进行比较排序,如果两个字段Unicode编码值完全相同,则 比较其初始汉字字段中逐个汉字的Unicode编码值,并进行比较排序。
2.根据权利要求1所述的混合字段的排序方法,其特征在于所述的将混合字段中的所有字符转换为Unicode编码值包括如下步骤: 获取字段; 判断该字段中是否含有汉字,如果不包含汉字,则将其转换为Unicode编码,若含有汉字,则将汉字转换为该汉字字符的全拼,并在多个汉字字符小写全拼中加标识符,并将转换后的全拼转换为相应的Unicode编码。
3.根据权利要求1所述的混合字段的排序方法,其特征在于:所述添加的标识符为空格。
4.一种用于混合字段的排序的装置,其特征在于所述的用于混合字段的排序装置包括: Unicode编码装置,用于将混合字段中的所有字符转换为Unicode编码值; Unicode编码值比较装置,用于将字段Unicode编码值进行比较排序; 汉字Unicode编码值比较装置,用于将Unicode编码值完全相同的字段的汉字Unicode编码值进行比较; 排序装置,用于将根据上述装置比较的Unicode编码值按照比较排序。
5.根据权利要求3所述的用于混合字段的排序装置,其特征在于:所述的排序装置还包括: 字符提取装置,用于从字段中提取出字符; 全拼转换装置,用于将汉字转换为该汉字字符的全拼; 标识符添加装置,用于在多个汉字的全拼之间增加标识符。
【文档编号】G06F17/30GK103810279SQ201410054656
【公开日】2014年5月21日 申请日期:2014年2月18日 优先权日:2014年2月18日
【发明者】谭展鹏 申请人:天津松下汽车电子开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1