一种排序方法和移动设备技术

技术编号:9568983 阅读:113 留言:0更新日期:2014-01-16 02:33
本发明专利技术的实施例提供一种排序方法和移动设备,涉及通信领域,能够符合不同国家用户的使用习惯。其方法为:将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义,转义后的码值包括所述第i个字符对应的基准字符的统一码值和所述第i个字符的统一码值与所述第i个字符对应的基准字符的统一码值的差值;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值不相等时,根据所述第一字符串的第i个字符的转义后的码值和所述第二字符串的第i个字符的转义后的码值的大小来排列所述第一字符串和所述第二字符串的顺序;否则,将i加1后再次执行上述步骤。本发明专利技术实施例用于字符串排序。

【技术实现步骤摘要】
一种排序方法和移动设备
本专利技术涉及计算机领域,尤其涉及一种排序方法和移动设备。
技术介绍
目前对于字符串的排序有两种方法。第一种是使用Unicode(统一码)排序,即按照字符串中字符的Unicode值进行排序;第二种是对于不同的语言使用不同的字符集进行排序,比如:中文简体是将字符转化为GBK(Guo-BiaoKuoZhan,国家标准扩展码)编码,然后按照字符在GBK字符集中的值进行排序。但是,对于多种语言混合的字符串,没有一种很好的解决办法。例如,在土耳其文和英文混编时,Unicode排序可以照顾到英文的排序,但是无法兼顾土耳其语。土耳其语是由字符A~Z以及土耳其的特色字母混编,在土耳其语中字符应该在字符G之后的位置上,但是在和英文混编时,土耳其语中的字符会放在字符Z之后。这样土耳其语用户在使用时就会有很多不便,例如,在电子词典中查询词汇时,开头的单词常常位于Z开头的单词之后,而实际上,开头的单词位于G开头的单词之后更为符合土耳其人的习惯。因此,现有的字符串排序方法无法兼顾除英语外其他语言的字符串排序,所以无法符合不同国家用户的使用习惯。
技术实现思路
本专利技术的实施例提供一种排序方法和移动设备,能够同时兼顾多种语言的字符串的排序,从而符合不同国家用户的使用习惯。本专利技术的实施例采用如下技术方案:一方面,提供一种排序方法,所述方法包括:将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义,转义后的码值包括所述第i个字符对应的基准字符的统一码值和所述第i个字符的统一码值与所述第i个字符对应的基准字符的统一码值的差值;将所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值进行比较;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值不相等时,根据所述第一字符串的第i个字符的转义后的码值和所述第二字符串的第i个字符的转义后的码值的大小来排列所述第一字符串和所述第二字符串的顺序;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值相等时,将所述第一字符串的第i+1个字符的统一码值进行转义,将所述第二字符串的第i+1个字符的统一码值进行转义,并将所述第一字符串的第i+1个字符的转义后的码值与所述第二字符串的第i+1个字符转义后的码值进行比较,直至排列出所述第一字符串和所述第二字符串的顺序;其中,i的初始值为1。另一方面,提供一种移动设备,所述移动设备包括:转义单元,用于将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义,转义后的码值包括所述第i个字符对应的基准字符的统一码值和所述第i个字符的统一码值与所述第i个字符对应的基准字符的统一码值的差值;比较单元,用于将所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值进行比较;排序单元,用于当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值不相等时,根据所述第一字符串的第i个字符的转义后的码值和所述第二字符串的第i个字符的转义后的码值的大小来排列所述第一字符串和所述第二字符串的顺序;所述转义单元还用于,当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值相等时,将所述第一字符串的第i+1个字符的统一码值进行转义,将所述第二字符串的第i+1个字符的统一码值进行转义,以便所述比较单元将所述第一字符串的第i+1个字符的转义后的码值与所述第二字符串的第i+1个字符转义后的码值进行比较,直至所述排序单元排列出所述第一字符串和所述第二字符串的顺序;其中,i的初始值为1。本专利技术的实施例提供一种排序方法和移动设备,通过将字符串中字符的统一码值进行转义,并根据转义后的码值进行排序,能够同时兼顾多种语言的字符串的排序,从而符合不同国家用户的使用习惯。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种排序方法的流程示意图;图2为本专利技术另一实施例提供的一种排序方法的流程示意图;图3为本专利技术实施例提供的一种移动设备的结构示意图;图4为本专利技术实施例提供的另一种移动设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种排序方法,如图1所示包括:S101、将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义,转义后的码值包括第i个字符对应的基准字符的统一码值和第i个字符的统一码值与第i个字符对应的基准字符的统一码值的差值。S102、将第一字符串的第i个字符的转义后的码值与第二字符串的第i个字符的转义后的码值进行比较。S103、当第一字符串的第i个字符的转义后的码值与第二字符串的第i个字符的转义后的码值不相等时,根据第一字符串的第i个字符的转义后的码值和第二字符串的第i个字符的转义后的码值的大小来排列第一字符串和第二字符串的顺序。S104、当第一字符串的第i个字符的转义后的码值与第二字符串的第i个字符的转义后的码值相等时,将第一字符串的第i+1个字符的统一码值进行转义,将第二字符串的第i+1个字符的统一码值进行转义,并将第一字符串的第i+1个字符的转义后的码值与第二字符串的第i+1个字符转义后的码值进行比较,直至排列出第一字符串和第二字符串的顺序。其中,i的初始值为1。本专利技术的实施例提供一种排序方法,通过将字符串中字符的统一码值进行转义,并根据转义后的码值进行排序,能够同时兼顾多种语言的字符串的排序,从而符合不同国家用户的使用习惯。本专利技术的另一实施例提供一种排序方法,如图2所示,包括:S201、将第一字符串的第i个字符的Unicode(统一码)值进行转义,将第二字符串的第i个字符的Unicode值进行转义。上述的第一字符串可以是一种语言或多种语言的字符串,第二字符串可以是一种语言或多种语言的字符串,例如第一字符串可以是一个英语单词,也可以是一个西班牙语单词或土耳其语单词,同样的第二字符串也可以是一个英语单词,还可以是一个西班牙语单词或土耳其语单词。无论第一字符串和第二字符串是哪国语言的字符串,进行字符串排序的方法完全相同。需要说明的是:土耳其语共有29个字母,除了包括25个英文字母之外,还包括和以下以为例进行说明,西班牙语共有27个字母,除了包括26个英文字母外,还包括除此之外还包括重音标识字母和以下以为例进行说明。在字符串中的每个字符都有一个Unicode值,例如大写的英文字母A的Unicode值为0x0041,西班牙语中的的Unicode值为0x00C1,大写的英文字母G的Unicode值为0x0047,土耳其语本文档来自技高网...
一种排序方法和移动设备

【技术保护点】
一种排序方法,其特征在于,所述方法包括:将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义,转义后的码值包括所述第i个字符对应的基准字符的统一码值和所述第i个字符的统一码值与所述第i个字符对应的基准字符的统一码值的差值;将所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值进行比较;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值不相等时,根据所述第一字符串的第i个字符的转义后的码值和所述第二字符串的第i个字符的转义后的码值的大小来排列所述第一字符串和所述第二字符串的顺序;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值相等时,将所述第一字符串的第i+1个字符的统一码值进行转义,将所述第二字符串的第i+1个字符的统一码值进行转义,并将所述第一字符串的第i+1个字符的转义后的码值与所述第二字符串的第i+1个字符转义后的码值进行比较,直至排列出所述第一字符串和所述第二字符串的顺序;其中,i的初始值为1。

【技术特征摘要】
1.一种排序方法,其特征在于,所述方法包括:将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义,转义后的码值包括所述第i个字符对应的基准字符的统一码值和所述第i个字符的统一码值与所述第i个字符对应的基准字符的统一码值的差值;将所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值进行比较;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值不相等时,根据所述第一字符串的第i个字符的转义后的码值和所述第二字符串的第i个字符的转义后的码值的大小来排列所述第一字符串和所述第二字符串的顺序;当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值相等时,将所述第一字符串的第i+1个字符的统一码值进行转义,将所述第二字符串的第i+1个字符的统一码值进行转义,并将所述第一字符串的第i+1个字符的转义后的码值与所述第二字符串的第i+1个字符转义后的码值进行比较,直至排列出所述第一字符串和所述第二字符串的顺序;其中,i的初始值为1。2.根据权利要求1所述的方法,其特征在于,所述将第一字符串的第i个字符的统一码值进行转义,将第二字符串的第i个字符的统一码值进行转义包括:将所述第一字符串的第i个字符的统一码值由两字节码值转义为三字节码值或四字节码值;将所述第二字符串的第i个字符的统一码值由两字节码值转义为三字节码值或四字节码值;其中,所述三字节码值或者所述四字节码值的高位为所述第i个字符对应的基准字符的统一码值;所述三字节码值或者所述四字节码值的低位为所述第i个字符的统一码值与所述第i个字符对应的基准字符的统一码值的差值。3.根据权利要求1或2所述的方法,其特征在于,所述将所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值进行比较包括:将所述第一字符串的第i个字符的转义后的码值减去所述第二字符串的第i个字符转义后的码值;若所述第一字符串的第i个字符的转义后的码值减去所述第二字符串的第i个字符转义后的码值后所得的差值为正数,则判定所述第一字符串的第i个字符的转义后的码值大于所述第二字符串的第i个字符转义后的码值;若所述第一字符串的第i个字符的转义后的码值减去所述第二字符串的第i个字符转义后的码值后所得的差值为负数,则判定所述第一字符串的第i个字符的转义后的码值小于所述第二字符串的第i个字符转义后的码值;若所述第一字符串的第i个字符的转义后的码值减去所述第二字符串的第i个字符转义后的码值后所得的差值为零,则判定所述第一字符串的第i个字符的转义后的码值等于所述第二字符串的第i个字符转义后的码值。4.根据权利要求1所述的方法,其特征在于,所述当所述第一字符串的第i个字符的转义后的码值与所述第二字符串的第i个字符的转义后的码值不相等时,根据所述第一字符串的第i个字符的转义后的码值和所述第二字符串的第i个字符的转义后的码值的大小来排列所述第一字符串和所述第二字符串的顺序包括:若所述第一字符串的第i个字符的转义后的码值大于所述第二字符串的第i个字符转义后的码值,则将所述第一字符串排列在所述第二字符串之后;若所述第一字符串的第i个字符的转义后的码值小于所述第二字符串的第i个字符转义后的码值,则将所述第一字符串排列在所述第二字符串之前。5.根据权利要求1所述的方法,其特征在于,所述第i个字符对应的基准字符包括:当所述第i个字符为非英文字符时,所述第i个字符对应的基准字符为所述字符对应的英文大写字母;或当所述第i个字符为英文小写字母时,所述第i个字符对应的基准字符为所述字符对应的英文大写字母;或当所述第i个字符为英文大写字母时,所述第i个字符对...

【专利技术属性】
技术研发人员:曹庆峰
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1