一种通讯录排序方法及终端的制作方法

xiaoxiao2020-10-23  13

一种通讯录排序方法及终端的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,具体涉及一种通讯录排序方法及终端。
【背景技术】
[0002]注音符号,旧称注音字母,是为汉语汉字注音而设定的符号,大陆自1958年推行汉语拼音方案后停止使用。目前,台湾地区使用的繁体汉字仍用注音符号作为其拼读工具,很多海外华人区亦仍使用注音符号拼读繁体汉字。目前市场上的通讯录对于中文繁体联系人姓名的排序基本都是基于汉语拼音进行排序,对于不熟悉汉语拼音的台湾同胞和海外华人而言,查找中文繁体联系人姓名的效率很低。可见,目前用户终端中存在查找中文繁体联系人姓名效率低的问题。

【发明内容】

[0003]本发明实施例提供一种通讯录排序方法及终端,可以提供一种基于注音符号的通讯录排序方式,提高查找中文繁体联系人姓名的效率。
[0004]第一方面,提供了一种通讯录排序方法,包括:
[0005]获取通讯录中至少一个中文繁体联系人姓名;
[0006]分别查询所述获取的每个中文繁体联系人姓名的姓名拼音;
[0007]根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;
[0008]根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。
[0009]在第一方面的第一种可能的实现方式中,所述根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序,包括:
[0010]从所述所有的注音符号串的统一码中查找位数最长的统一码,将所述位数最长的统一码的位数作为标准位数;
[0011]按照所述标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码,以使每个注音符号串均有一个标准统一码;
[0012]将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所述所有的注音符号串的标准统一码的排序;
[0013]根据所述所有的注音符号串的标准统一码的排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。
[0014]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序,还包括:
[0015]若出现多个注音符号串的统一码相同时,比较所述多个注音符号串的多个姓名拼音的音调顺序,根据所述多个姓名拼音的音调顺序对所述多个注音符号串进行排序,得到所述多个姓名拼音的多个中文繁体联系人姓名的排序。
[0016]结合第一方面,在第一方面的第三种可能的实现方式中,所述分别查询每个汉字拼音对应的注音符号串之前,所述方法还包括:
[0017]设置姓名拼音的注音符号串。
[0018]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述设置姓名拼音的注音符号串,包括:
[0019]设置汉字拼音的汉字注音符号串,使用所述汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。
[0020]第二方面,提供了一种终端,包括:
[0021]获取单元,用于获取通讯录中至少一个中文繁体联系人姓名;
[0022]第一查询单元,用于分别查询所述获取的每个中文繁体联系人姓名的姓名拼音;
[0023]第二查询单元,用于根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;
[0024]排序单元,用于根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。
[0025]在第二方面的第一种可能的实现方式中,所述排序单元包括:
[0026]查找子单元,用于从所述所有的注音符号串的统一码中查找位数最长的统一码,将所述位数最长的统一码的位数作为标准位数;
[0027]转换子单元,用于按照所述标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码,以使每个注音符号串均有一个标准统一码;
[0028]第一排序子单元,用于将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所述所有的注音符号串的标准统一码的排序;
[0029]第二排序子单元,用于根据所述所有的注音符号串的标准统一码的排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。
[0030]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述排序单元还包括:
[0031]比较子单元,用于当出现多个注音符号串的统一码相同时,比较所述多个注音符号串的多个姓名拼音的音调顺序;
[0032]第三排序子单元,用于根据所述多个姓名拼音的音调顺序对所述多个注音符号串进行排序,得到所述多个姓名拼音的多个中文繁体联系人姓名的排序。
[0033]结合第二方面,在第二方面的第三种可能的实现方式中,所述终端还包括:
[0034]设置单元,用于设置姓名拼音的注音符号串。
[0035]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述设置单元设置姓名拼音的注音符号串的方式具体为:
[0036]所述设置单元设置汉字拼音的汉字注音符号串,使用所述汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。
[0037]上述技术方案中,获取通讯录中至少一个中文繁体联系人姓名;分别查询获取的每个中文繁体联系人姓名的姓名拼音;根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。相比现有技术中对于中文繁体联系人姓名的排序基本都是基于汉语拼音进行排序,本技术方案提供了一种基于注音符号的通讯录排序方式,可以提高查找中文繁体联系人姓名的效率。
【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是本发明实施例公开的一种通讯录排序方法的流程图;
[0040]图2是本发明实施例公开的另一种通讯录排序方法的流程图;
[0041]图3是本发明实施例公开的一种终端的结构示意图;
[0042]图4是本发明实施例公开的另一种终端的结构示意图;
[0043]图5是本发明实施例公开的另一种终端的结构示意图;
[0044]图6是本发明实施例公开的另一种终端的结构示意图。
【具体实施方式】
[0045]下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述。显然,所描述的实施方式是本发明的一部分实施方式,而不是全部实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式,都应属于本发明保护的范围。
[0046]本发明实施例提供一种通讯录排序方法及终端,可以提高查找中文繁体联系人姓名的效率。以下分别进行详细说明。
[0047]本发明实施例中描述的终端可包括:手机、平板电脑或者随身听等,上述终端仅是举例,而非穷举,包含但不限于上述终端。
[0048]请参阅图1,图1是本发明实施例公开的一种通讯录排序方法的流程图。如图1所示,本实施例中所描述的通讯录排序方法,包括步骤:
[0049]SlOl,获取通讯录中至少一个中文繁体联系人姓名。
[0050]本发明实施例中,终端获取通讯录中至少一个中文繁体联系人姓名,其中,每个中文繁体联系人姓名均关联对应的联系人联系方式,联系人联系方式可以包括手机号码、座机号码、邮箱地址、微信账号、QQ账号等。用户可以根据查找到的中文繁体联系人姓名,利用该中文繁体联系人姓名关联对应的联系方式与该中文繁体联系人进行通信。
[0051]S102,分别查询获取的每个中文繁体联系人姓名的姓名拼音。
[0052]本发明实施例中,每个中文繁体联系人姓名均有一个与之对应的姓名拼音,例如,“劉曉明”对应的姓名拼音为“liuxiaoming”,“張波”对应的姓名拼音为“zhangbo”, “周建設”对应的姓名拼音为“ zhoujianshe ”。
[0053]S103,根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串。
[0054]本发明实施例中,注音符号串由40个注音符号组成,其中,40个注音符号包括:“勹’,、“夕 ’,、“ π ’,、“ c ’,、“ 为’,、“古 ’,、“ ^ ’,、“ 为 ’,、“ ?’,、“ 万’,、“厂 ’,、“ M ’,、“ < ’,、“ 丁 ’,、“ 虫’,、“彳,,“尸,,“ Q,,“ ,,“ 亏,,“人,,“丫,,“ 乙,,“亡,,“甘,,“ ,,“ 又,,“么,,“ 7,,“弓,,“S”、“尤”、“厶”、“儿”、“ I ”、“乂 ”、“ U”、“万”、“兀”、“广”。其中,每个姓名拼音均有一个与之对应的注音符号串,例如,“liuxiaoming”对应的注音符号串为“为丨又丁丨么π丨L”,“ zhangbo ”对应的注音符号串为“ Ik允勹乙”,“ zhoujianshe ”对应的注音符号串为“虫又M
I弓尸亡”。
[0055]S104,根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。
[0056]本发明实施例中,每个注音符号均有一个唯一的统一码与之对应,注音符号的统一码为四位的十六进制码,例如:“勹”的统一码为“3105”,“夕”的统一码为“3106”,“ π ’,的统一码为“3107”,“ Cl”的统一码为“3108”,“为”的统一码为“3109”,“古”的统一码为“310A,,,“ ^ ” 的统一码为 “310B,,,“ 为”的统一码为 “310C,,,“ ? ” 的统一码为 “310D,,,“万”的统一码为“310E”,“厂”的统一码为“310F”,“ M ”的统一码为“3110”,“ < ”的统一码为“ 3111”,“ 丁 ”的统一码为“ 3112 ”,“虫”的统一码为“ 3113 ”,“ 4 ”的统一码为“ 3114 ”,“尸”的统一码为“3115”,“ H ”的统一码为“3116”,“ ? ”的统一码为“3117”,“亏”的统一码为“ 3118 厶”的统一码为“ 3119,,,“ 丫 ”的统一码为“ 31IA”,“乙”的统一码为“ 31IB ”,“亡”的统一码为“311C”,“甘”的统一码为“311D”,“刃”的统一码为“311E”,“又”的统一码为“311F”,“么”的统一码为“3120”,“又”的统一码为“3121”,“弓”的统一码为“3122”,“V,的统一码为“3123”,“尤”的统一码为“3124”,“厶”的统一码为“3125”,“儿”的统一码为“3126”,“ [ ” 的统一码为 “3127”,“X ” 的统一码为 “3128”,“U,,的统一码为 “3129”,“万”的统一码为“312A”,“兀”的统一码为“312B”,“广”的统一码为“312C”。其中,每个注音符号串均有一个与之对应的统一码,例如,若通讯录中包括“劉曉明”、“張波”和“周建設”三个中文繁体联系人姓名,“劉曉明”的姓名拼音为“liuxiaoming”,“liuxiaoming”的注音符号串为“为丨又丁丨幺Π丨厶”;“張波”的姓名拼音为“zhangbo”,“zhangbo”的注音符号串为“虫尤勺己”;“周建設”的姓名拼音为“zhoujianshe”,“zhoujianshe”的注音符号串为“虫又M [弓尸亡”。其中,‘‘为丨又丁丨幺π丨厶”的统一码为“310C 3127 3121 3112 31273120 3107 3127 3125”,“虫尤勹乙”的统一码为 “3113 3124 3105 311B,,,“虫又 ^ \ 弓尸亡”的统一码为“3113 3121 3110 3127 3122 3115 311C”。对上述注音符号串进行排序得到为丨又丁丨幺π丨厶”排在第一位,3113 3121 3110 3127 3122 3115 311C”排在第二位,“3113 3124 3105 311B”排在第三位,即得到上述通讯录中三个中文繁体联系人姓名的排序为:“劉曉明”排在第一位,“周建設”排在第二位,“張波”排在第三位。
[0057]在一些可行的实施方式中,步骤S104可以包括:
[0058]11)从所有的注音符号串的统一码中查找位数最长的统一码,将位数最长的统一码的位数作为标准位数;
[0059]12)按照标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码,以使每个注音符号串均有一个标准统一码;
[0060]13)将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所有的注音符号串的标准统一码的排序;
[0061]14)根据所有的注音符号串的标准统一码的排序,得到通讯录中至少一个中文繁体联系人姓名的排序。
[0062]本发明实施例中,从所有的注音符号串的统一码中查找位数最长的统一码,将位数最长的统一码的位数作为标准位数。例如,通讯录中可以包括“劉曉明”、“張波”和“周建設”,所有的注音符号串可以包括为丨又丁丨么Π丨人”(对应的中文繁体联系人为“劉曉明”)、“虫尤勺己”(对应的中文繁体联系人为“張波”)和“虫又M I弓尸亡”(对应的中文繁体联系人为“周建設”)。所有的注音符号串的统一码可以包括:“310C 3127 31213112 3127 3120 3107 3127 3125”(对应的注音符号串为“为丨又丁丨幺π丨厶”)、“31133124 3105 311Β”(对应的注音符号串为“虫尤勹乙”)和“3113 3121 3110 3127 31223115 311C”(对应的注音符号串为“虫又M I弓尸亡”)。即可得到所有的注音符号串的统一码中位数最长的统一码为:“310C 3127 3121 3112 3127 3120 3107 3127 3125”,该位数最长的统一码的位数为36位,即标准位数为36位。
[0063]按照标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码。其中,预设字符可以为 “ O ”、“ I ”、“ 2 ”、“ 3 ”、“ 4 ”、“ 5 ”、“ 6 ”、“ 7 ”、“ 8 ”、“ 9 ”、“A ”、“B”、“C”、“D”、“E”、“F”中的任意一种,例如,若标准位数为36位,预设字符为“O ”,则“ 31C3127 3121 3112 3127 3120 3107 3127 3125” 的标准统一码为其本身,“3113 3124 3105311B” 的标准统一码为 “3113 3124 3105 311B 0000 0000 0000 0000 0000”,“3113 31213110 3127 3122 3115 311C” 的标准统一码为 “3113 3121 3110 3127 3122 3115 311C0000 0000”。
[0064]将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所有的注音符号串的标准统一码的排序。例如,有三个标准统一码,分别为第一标准统一码“310C 3127 3121 3112 3127 3120 3107 3127 3125”、第二标准统一码 “3113 31243105 311B 0000 0000 0000 0000 0000” 和第三标准统一码 “3113 3121 3110 3127 31223115 311C 0000 0000”,则将每个标准统一码从高位到低位逐位比较,每个标准统一码的第一位均为“3”相同,然后比较每个标准统一码的第二位,其中,第一标准统一码的第二位为“0”,第二标准统一码和第三标准统一码的第二位均为“ 1”,则将第一标准统一码排在第一位,继续比较第二标准统一码和第三标准统一码的大小,比较第二标准统一码和第三标准统一码的第三位,其中,第二标准统一码和第三标准统一码的第三位均为“1”,继续比较第二标准统一码和第三标准统一码的第四位、第五位、第六位、第七位等等,直到比较出第二标准统一码和第三标准统一码的大小,由于第二标准统一码和第三标准统一码的前七位均相同,第二标准统一码的第八位为“4”,第三标准统一码的第八位为“1”,即第三标准统一码排在第二位,第二标准统一码排在第三位。
[0065]根据所有的注音符号串的标准统一码的排序,得到通讯录中至少一个中文繁体联系人姓名的排序。例如,“为丨又丁丨幺π丨厶”的标准统一码“310C 3127 3121 3112 3127
31203107 3127 3125” 排第一,“虫尤勹乙”的标准统一码 “3113 3124 3105 311B 00000000 0000 000 0 0000”排第三,“虫又 M [弓尸亡”的标准统一码“3113 3121 3110 31273122 3115 311C 0000 0000”排第二,即该通讯录中,“劉曉明”排在第一位,“周建設”排在第二位,“張波”排在第三位。
[0066]在一些可行的实施方式中,步骤S104还可以包括:
[0067]21)若出现多个注音符号串的统一码相同时,比较多个注音符号串的多个姓名拼音的音调顺序;
[0068]22)根据多个姓名拼音的音调顺序对多个注音符号串进行排序,得到多个姓名拼音的多个中文繁体联系人姓名的排序。
[0069]本发明实施例中,若出现多个注音符号串的统一码相同时,例如,若出现两个中文繁体联系人为“張豪”和“張浩”,这两个中文繁体联系人的姓名拼音均为“zhanghao”,这两个中文繁体联系人的姓名拼音的注音符号串均为“虫尤厂么”,这两个注音符号串的统一码相同,此时可以比较这两个中文繁体联系人的姓名拼音的音调顺序,对中文繁体联系人“張豪”来说,“zhanghao”(对应的中文繁体联系人为“張豪”)的音调为第一声(第一个中文繁体字“張”对应的拼音为“zhtog”)和第二声(第二个中文繁体字“豪”对应的拼音为“hc1”);对中文繁体联系人“張浩”来说,“zhanghao”(对应的中文繁体联系人为“張浩”)的音调为第一声(第一个中文繁体字“張”对应的拼音为“zhSng”)和第四声(第二个中文繁体字“浩”对应的拼音为“h0o”),可以得出这两个中文繁体联系人姓名的排序为:“張豪”排在“張浩”前面。
[0070]本发明实施例中,获取通讯录中至少一个中文繁体联系人姓名;分别查询获取的每个中文繁体联系人姓名的姓名拼音;根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。实施本发明实施例,提供一种基于注音符号的通讯录排序方式,从而可以提高查找中文繁体联系人姓名的效率。
[0071]请参阅图2,图2是本发明实施例公开的另一种通讯录排序方法的流程图。如图2所示,本实施例中所描述的通讯录排序方法,包括步骤:
[0072]S201,设置姓名拼音的注音符号串。
[0073]本发明实施例中,设置姓名拼音的注音符号串可以通过建立哈希表为每个汉字拼音设置一个对应的注音符号串,具体来说,可以定义Static 二维字符串数组,第一维存储所有汉字拼音字符串,第二维存储所有的汉字拼音字符串,具体的代码文本如下:
[0074]Private static final String[][]PINYIN_TO_ZHUYING_TABLE = {
[0075]{"a", 〃 丫 "},{"ai",〃 刃"},{"an", 〃 弓"},
[0076]Fang' 〃 尤,Fao' 〃 幺 ?,{W,〃 幺 ?,
[0077]{"ba",〃 勹丫〃},
[0078].........
[0079]{"zui","卩乂又"},
[0080]{"zun","卩 X S "},
[0081]{"zuo","卩乂乙"}
[0082]};
[0083]在一些可行的实施方式中,S201可以包括:
[0084]设置汉字拼音的汉字注音符号串,使用汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。
[0085]本发明实施例中,姓名拼音由多个汉字拼音组成,通过设置汉字拼音的汉字注音符号串,即可以使用汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。举例来说,“ZUO”的汉字注音符号串为“ P X己”,“zun”的汉字注音符号串为“即姓名拼音为
“zuozun”的注音符号串为“ P X乙卩X S”。
[0086]S202,获取通讯录中至少一个中文繁体联系人姓名。
[0087]S203,分别查询获取的每个中文繁体联系人姓名的姓名拼音。
[0088]S204,根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串。
[0089]S205,根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。
[0090]本发明实施例中的步骤S202?步骤S205可以参阅图1所示步骤SlOl?步骤S104,本发明实施例不再赘述。
[0091]本发明实施例中,设置姓名拼音的注音符号串;获取通讯录中至少一个中文繁体联系人姓名;分别查询获取的每个中文繁体联系人姓名的姓名拼音;根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。实施本发明实施例,提供一种基于注音符号的通讯录排序方式,从而可以提高查找中文繁体联系人姓名的效率。
[0092]请参阅图3,图3是本发明实施例公开的一种终端的结构示意图。如图3所示,本实施例中所描述的终端,包括获取单元301、第一查询单元302、第二查询单元303和排序单元304,其中:
[0093]获取单元301,用于获取通讯录中至少一个中文繁体联系人姓名。
[0094]本发明实施例中,获取单元301获取通讯录中至少一个中文繁体联系人姓名,其中,每个中文繁体联系人姓名均关联对应的联系人联系方式,联系人联系方式可以包括手机号码、座机号码、邮箱地址、微信账号、QQ账号等。用户可以根据查找到的中文繁体联系人姓名,利用该中文繁体联系人姓名关联对应的联系方式与该中文繁体联系人进行通信。
[0095]第一查询单元302,用于分别查询获取的每个中文繁体联系人姓名的姓名拼音。
[0096]本发明实施例中,第一查询单元302分别查询获取的每个中文繁体联系人姓名的姓名拼音。其中,每个中文繁体联系人姓名均有一个与之对应的姓名拼音,例如,“劉曉明”对应的姓名拼音为“liuxiaoming”,“張波”对应的姓名拼音为“zhangbo”,“周建設”对应的姓名拼音为“zhoujianshe”。
[0097]第二查询单元303,用于根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串。
[0098]本发明实施例中,第二查询单元303根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串。其中,注音符号串由40个注音符号组成,其中,40个注音符号包括:“勹”、“夕”、“ π ”、“ C ”、“为”、“古”、“飞”、“为”、“ ? ”、“万”、“厂 ’,、“ M ’,、“ < ’,、“ 丁 ’,、“ 虫 ’,、“ ^ ’,、“ 尸 ’,、“ H ’,、“ V ’,、“ 亏’,、“厶 ’,、“丫”、“乙’,、“亡’,、“甘’,、“刃”、“又”、“幺”、“又”、“弓”、“ L7 ”、“尤”、“厶”、“儿”、“丨 ”、“ X ”、“ u ”、“万”、“兀”、“广”。其中,每个姓名拼音均有一个与之对应的注音符号串,例如,“liuxiaoming”对应的注音符号串为“为丨又丁丨幺Π丨人”,“zhangbo”对应的注音符号串为“虫尤勹乙”,“zhoujianshe”对应的注音符号串为“虫又M I弓尸亡”。
[0099]排序单元304,用于根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。
[0100]本发明实施例中,排序单元304根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。其中,每个注音符号均有一个唯一的统一码与之对应,注音符号的统一码为四位的十六进制码,例如勹”的统一码为“3105”,“夕”的统一码为“3106”,“ π ”的统一码为“3107”,“H,,的统一码为“3108 ”,“为”的统一码为“ 3109 ”,“古”的统一码为“ 31A”,“ ^ ”的统一码为“ 31B”,“为”的统一码为“310C”,“ ? ”的统一码为“31D”,“万”的统一码为“31E”,“厂”的统一码为“310F,,,“ M ” 的统一码为 “3110”,“ < ” 的统一码为 “3111”,“丁” 的统一码为 “3112”,“虫”的统一码为“3113”,“ ^ ”的统一码为“3114”,“尸”的统一码为“3115”,“ H ”的统一码为“3116”,“ V ”的统一码为“3117”,“亏”的统一码为“3118”,“厶”的统一码为“31 19”,“ Y ”的统一码为“311A”,“ c: ”的统一码为“311B,,,“亡”的统一码为“311C”,“甘”的统一码为“311D,,,“刃”的统一码为“311E”,“又”的统一码为“31卟”,“幺”的统一码为“3120”,“又”的统一码为“3121”,“弓”的统一码为“3122”,“ 的统一码为“3123”,“尤”的统一码为“3124”,“L”的统一码为“3125”,“儿”的统一码为“3126”,“丨”的统一码为“3127”,“X ”的统一码为“3128”,“U”的统一码为“3129”,“万”的统一码为“312A”,“兀”的统一码为“312B”,“广”的统一码为“312C”。其中,每个注音符号串均有一个与之对应的统一码,例如,若通讯录中包括“劉曉明”、“張波”和“周建設”三个中文繁体联系人姓名,“劉曉明”的姓名拼音为“liuxiaoming”,“liuxiaoming”的注音符号串为“为丨又丁丨幺Π丨厶”;“張波”的姓名拼音为“zhangbo”,“zhangbo”的注音符号串为“虫尤勺己”;“周建設”的姓名拼音为“zhoujianshe”,“zhoujianshe”的注音符号串为“虫又M丨弓尸古”。其中,“为丨又丁丨幺π [厶”的统一码为 “310C 3127 3121 3112 3127 3120 3107 3127 3125”,“虫尤勹乙”的统一码为“3113 3124 3105 311B,,,“虫又 ^ \ 弓尸亡”的统一码为“3113 3121 3110 31273122 3115 311C”。对上述注音符号串进行排序得到:“为丨又丁丨么π丨厶”排在第一位,3113 3121 3110 3127 3122 3115 311C” 排在第二位,“3113 3124 3105 311Β” 排在第三位,即得到上述通讯录中三个中文繁体联系人姓名的排序为劉曉明”排在第一位,“周建設”排在第二位,“張波”排在第三位。
[0101]可选的,如图4所示,图4是本发明实施例公开的另一种终端的结构示意图,其中,排序单元304可以包括:
[0102]查找子单元3401,用于从所有的注音符号串的统一码中查找位数最长的统一码,将位数最长的统一码的位数作为标准位数。
[0103]转换子单元3402,用于按照标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码,以使每个注音符号串均有一个标准统一码。
[0104]第一排序子单元3403,用于将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所有的注音符号串的标准统一码的排序。
[0105]第二排序子单元3404,用于根据所有的注音符号串的标准统一码的排序,得到通讯录中至少一个中文繁体联系人姓名的排序。
[0106]本发明实施例中,查找子单元3401从所有的注音符号串的统一码中查找位数最长的统一码,将位数最长的统一码的位数作为标准位数。例如,通讯录中可以包括“劉曉明”、“張波”和“周建設”,所有的注音符号串可以包括为丨又丁丨么Π丨人”(对应的中文繁体联系人为“劉曉明”)、“虫尤勺己”(对应的中文繁体联系人为“張波”)和“虫又MI弓尸亡”(对应的中文繁体联系人为“周建設”)。所有的注音符号串的统一码可以包括:“310C 3127 3121 3112 3127 3120 3107 3127 3125”(对应的注音符号串为“为丨又丁 [幺π [厶”)、“3113 3124 3105 311B”(对应的注音符号串为“虫尤勹乙”)和“3113 31213110 3127 3122 3115 311C”(对应的注音符号串为“虫又M [弓尸亡”)。即可得到所有的注音符号串的统一码中位数最长的统一码为:“310C 3127 3121 3112 3127 3120 31073127 3125”,该位数最长的统一码的位数为36位,即标准位数为36位。
[0107]转换子单元3402按照标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码O其中,预设字符可以为“ O ”、“ I ”、“ 2 ”、“ 3 ”、“ 4 ”、“ 5 ”、“ 6 ”、“ 7 ”、“8”、“9”、“A”、“B”、“C”、“D”、“E”、“F”中的任意一种,例如,若标准位数为36位,预设字符为 “0”,则 “310C 3127 3121 3112 3127 3120 3107 3127 3125” 的标准统一码为其本身,“3113 3124 3105 311B” 的标准统一码为 “3113 3124 3105 311B 0000 0000 0000 00000000”,“3113 3121 3110 3127 3122 3115 311C” 的标准统一码为 “3113 3121 3110 31273122 3115 311C 0000 0000”。
[0108]第一排序子单元3403将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所有的注音符号串的标准统一码的排序。例如,有三个标准统一码,分别为第一标准统一码 “310C 3127 3121 3112 3127 3120 3107 3127 3125”、第二标准统一码 “3113 3124 3105 311B 0000 0000 0000 0000 0000” 和第三标准统一码 “3113
31213110 3127 3122 3115 311C 0000 0000”,则将每个标准统一码从高位到低位逐位比较,每个标准统一码的第一位均为“3”相同,然后比较每个标准统一码的第二位,其中,第一标准统一码的第二位为“0”,第二标准统一码和第三标准统一码的第二位均为“ I ”,则将第一标准统一码排在第一位,继续比较第二标准统一码和第三标准统一码的大小,比较第二标准统一码和第三标准统一码的第三位,其中,第二标准统一码和第三标准统一码的第三位均为“1”,继续比较第二标准统一码和第三标准统一码的第四位、第五位、第六位、第七位等等,直到比较出第二标准统一码和第三标准统一码的大小,由于第二标准统一码和第三标准统一码的前七位均相同,第二标准统一码的第八位为“4”,第三标准统一码的第八位为“ I ”,即第三标准统一码排在第二位,第二标准统一码排在第三位。
[0109]第二排序子单元3404根据所有的注音符号串的标准统一码的排序,得到通讯录中至少一个中文繁体联系人姓名的排序。例如,“为丨又丁丨么π丨人”的标准统一码“310C3127 3121 3112 3127 3120 3107 3127 3125” 排第一,“虫尤勹乙”的标准统一码 “31133124 3105 311B 0000 0000 0000 0000 0000”排第三,“虫又M [弓尸亡”的标准统一码“3113 3121 3110 3127 3122 3115 311C 0000 0000”排第二,即该通讯录中,“劉曉明”排在第一位,“周建設”排在第二位,“張波”排在第三位。
[0110]可选的,如图5所示,图5是本发明实施例公开的另一种终端的结构示意图,其中,排序单元304除了包括图4所示的查找子单元3401、转换子单元3402、第一排序子单元3403和第二排序子单元3404之外,还可以包括:
[0111]比较子单元3405,用于当出现多个注音符号串的统一码相同时,比较多个注音符号串的多个姓名拼音的音调顺序。
[0112]第三排序子单元3406,用于根据多个姓名拼音的音调顺序对多个注音符号串进行排序,得到多个姓名拼音的多个中文繁体联系人姓名的排序。
[0113]本发明实施例中,若出现多个注音符号串的统一码相同时,比较子单元3405比较多个注音符号串的多个姓名拼音的音调顺序;第三排序子单元3406根据多个姓名拼音的音调顺序对多个注音符号串进行排序,得到多个姓名拼音的多个中文繁体联系人姓名的排序。例如,若出现两个中文繁体联系人为“張豪”和“張浩”,这两个中文繁体联系人的姓名拼音均为“zhanghao”,这两个中文繁体联系人的姓名拼音的注音符号串均为“虫尤厂么”,这两个注音符号串的统一码相同,此时可以比较这两个中文繁体联系人的姓名拼音的音调顺序,对中文繁体联系人“張豪”来说,“zhanghao”(对应的中文繁体联系人为“張豪”)的音调为第一声(第一个中文繁体字“張”对应的拼音为“zh0ng”)和第二声(第二个中文繁体字“豪”对应的拼音为“hc1”);对中文繁体联系人“張浩”来说,“zhanghao”(对应的中文繁体联系人为“張浩”)的音调为第一声(第一个中文繁体字“張”对应的拼音为“zhSng”)和第四声(第二个中文繁体字“浩”对应的拼音为“h0o”),可以得出这两个中文繁体联系人姓名的排序为 張豪”排在“張浩”前面。
[0114]本发明实施例中,获取单元301获取通讯录中至少一个中文繁体联系人姓名;第一查询单元302分别查询获取的每个中文繁体联系人姓名的姓名拼音;第二查询单元303根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;排序单元304根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。实施本发明实施例,提供一种基于注音符号的通讯录排序方式,从而可以提高查找中文繁体联系人姓名的效率。
[0115]请参阅图6,图6是本发明实施例公开的另一种终端的结构示意图。如图6所示,本实施例中所描述的终端,除了包括图3所示的获取单元301、第一查询单元302、第二查询单元303和排序单元304之外,还包括设置单元305,其中:
[0116]设置单元305,用于设置姓名拼音的注音符号串。
[0117]本发明实施例中,设置单元305设置姓名拼音的注音符号串可以通过建立哈希表为每个汉字拼音设置一个对应的注音符号串,具体来说,可以定义Static 二维字符串数组,第一维存储所有汉字拼音字符串,第二维存储所有的汉字拼音字符串,具体的代码文本如下:
[0118]Private static final String[][]PINYIN_TO_ZHUYING_TABLE = {
[0119]{"a",” 丫 ],{"ai",” 刃 ?,{"an", ” 弓 ?,
[0120]Fang' 〃 尤 ?,Fao' 〃 幺 ?,{W,〃 幺 ?,
[0121]{"ba","勹丫 "},
[0122].........
[0123]ΓζιιΓ,"卩乂又"},
[0124]{"zun","卩 XS "},
[0125]{"zuo","卩乂乙"}
[0126]};
[0127]在一些可行的实施方式中,设置单元305设置姓名拼音的注音符号串的方式具体为:
[0128]设置单元305设置汉字拼音的汉字注音符号串,使用汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。
[0129]本发明实施例中,姓名拼音由多个汉字拼音组成,设置单元305通过设置汉字拼音的汉字注音符号串,即可以使用汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。举例来说,“ ZUO ”的汉字注音符号串为“ P X己”,“ zun”的汉字注音符号串为“
即姓名拼音为“zuozun”的注音符号串为“卩乂己卩X S”。
[0130]本发明实施例中,设置单元305设置姓名拼音的注音符号串;获取单元301获取通讯录中至少一个中文繁体联系人姓名;第一查询单元302分别查询获取的每个中文繁体联系人姓名的姓名拼音;第二查询单元303根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;排序单元30根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。实施本发明实施例,提供一种基于注音符号的通讯录排序方式,从而可以提高查找中文繁体联系人姓名的效率。
[0131]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory, ROM)、随机存取器(Random AccessMemory, RAM)、磁盘或光盘等。
[0132]以上对本发明实施例所提供的一种通讯录排序方法及终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种通讯录排序方法,其特征在于,包括: 获取通讯录中至少一个中文繁体联系人姓名; 分别查询所述获取的每个中文繁体联系人姓名的姓名拼音; 根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串; 根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。2.根据权利要求1所述的方法,其特征在于,所述根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序,包括: 从所述所有的注音符号串的统一码中查找位数最长的统一码,将所述位数最长的统一码的位数作为标准位数; 按照所述标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码,以使每个注音符号串均有一个标准统一码; 将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所述所有的注音符号串的标准统一码的排序; 根据所述所有的注音符号串的标准统一码的排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。3.根据权利要求2所述的方法,其特征在于,所述根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序,还包括: 若出现多个注音符号串的统一码相同时,比较所述多个注音符号串的多个姓名拼音的音调顺序,根据所述多个姓名拼音的音调顺序对所述多个注音符号串进行排序,得到所述多个姓名拼音的多个中文繁体联系人姓名的排序。4.根据权利要求1所述的方法,其特征在于,所述分别查询每个汉字拼音对应的注音符号串之前,所述方法还包括: 设置姓名拼音的注音符号串。5.根据权利要求4所述的方法,其特征在于,所述设置姓名拼音的注音符号串,包括: 设置汉字拼音的汉字注音符号串,使用所述汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。6.一种终端,其特征在于,包括: 获取单元,用于获取通讯录中至少一个中文繁体联系人姓名; 第一查询单元,用于分别查询所述获取的每个中文繁体联系人姓名的姓名拼音;第二查询单元,用于根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串; 排序单元,用于根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。7.根据权利要求6所述的终端,其特征在于,所述排序单元包括: 查找子单元,用于从所述所有的注音符号串的统一码中查找位数最长的统一码,将所述位数最长的统一码的位数作为标准位数; 转换子单元,用于按照所述标准位数将位数不足的统一码用预设字符补位,将所有的统一码转换为标准统一码,以使每个注音符号串均有一个标准统一码; 第一排序子单元,用于将每个标准统一码从高位到低位逐位比较,按照标准统一码从小到大进行排序,得到所述所有的注音符号串的标准统一码的排序; 第二排序子单元,用于根据所述所有的注音符号串的标准统一码的排序,得到所述通讯录中所述至少一个中文繁体联系人姓名的排序。8.根据权利要求7所述的终端,其特征在于,所述排序单元还包括: 比较子单元,用于当出现多个注音符号串的统一码相同时,比较所述多个注音符号串的多个姓名拼音的音调顺序; 第三排序子单元,用于根据所述多个姓名拼音的音调顺序对所述多个注音符号串进行排序,得到所述多个姓名拼音的多个中文繁体联系人姓名的排序。9.根据权利要求6所述的终端,其特征在于,所述终端还包括: 设置单元,用于设置姓名拼音的注音符号串。10.根据权利要求9所述的终端,其特征在于,所述设置单元设置姓名拼音的注音符号串的方式具体为: 所述设置单元设置汉字拼音的汉字注音符号串,使用所述汉字拼音的汉字注音符号串设置姓名拼音的注音符号串。
【专利摘要】本发明实施例公开了一种通讯录排序方法及终端,该方法包括:获取通讯录中至少一个中文繁体联系人姓名;分别查询获取的每个中文繁体联系人姓名的姓名拼音;根据预先设置的姓名拼音的注音符号串分别查询每个中文繁体联系人的姓名拼音的注音符号串;根据每个注音符号串的统一码的大小对所有的注音符号串进行排序,得到通讯录中至少一个中文繁体联系人姓名的排序。实施本发明实施例,可以提高查找中文繁体联系人姓名的效率。
【IPC分类】H04M1/725, G06F17/30
【公开号】CN104902091
【申请号】CN201510279834
【发明人】黄地丹
【申请人】广东欧珀移动通信有限公司
【公开日】2015年9月9日
【申请日】2015年5月27日

最新回复(0)