System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理技术,具体而言,涉及一种文字转换方法及程序产品。
技术介绍
1、随着应用程序面对越来越多的国际化使用场景。应用程序需要基于用户的语言环境、地域信息等,针对信息提供不同语种、中文简繁之间的转换方案。
2、现有的转换方案中,通常会利用映射字典,来建立待转换类型的文字与目标类型的文字的对应关系。而由于待转换类型的文字与目标类型的文字,往往存在一对多或多对一的情况(即转换),因此,为了保证翻译的准确性,该映射字典通常会尽可能多的包含不同的字符、词组的组合形式。
3、然而,在具体文字的转换流程中,现有转换方案,需要遍历查找上述映射字典中的各个字符、词组,以便确认文字信息中哪些文字需要进行转换。该方式会大大降低处理效率,同时导致性能瓶颈。
技术实现思路
1、本申请的目的在于提供一种文字转换方法及程序产品,其用于减少转义查找次数,提升性能。
2、为了实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本申请实施例提供一种文字转换方法,包括:
4、根据待转换数据的转换类型,确认对应的类型转换实例;所述待转换数据包含至少一个待确认字符;所述类型转换实例包含可转换字符对应的二进制整数值,所述二进制整数值对应的二进制序列中的每个字符位用于指示所述待确认字符在对应长度上是否存在可转换字或可转换词组;
5、若所述二进制整数值不为空,则确认所述二进制序列中的目标长度;每个所述目标长度用于指示所述待确认字符在对应
6、分别针对每个所述目标长度,在所述类型转换实例中查找是否存在与所述待确认字符对应的目标转换字符或目标转换词组;
7、若存在,则所述待确认字符作为所述待转换字符,并将全部所述待转换字符转换为对应的目标转换字符或目标转换词组,以获得转换后的文字。
8、可选地,在所述根据待转换数据的转换类型,确认对应的类型转换实例的步骤之前,还包括:
9、根据加载的属性文件,构建字典映射数据结构;所述字典映射数据结构包含每个待转换文字信息与目标文字信息的对应关系;所述待转换文字信息包含待转换字符或待转换词组;
10、根据所述字典映射数据结构,对其中具有相同首位字符的待转换字符或待转换词组,建立对应的二进制序列;每个所述二进制序列的每一位与包含对应首位字符的待转换字符或待转换词组的字符长度对应;
11、根据全部所述二进制序列对应的二进制整数值,生成可转换字符映射字典中。
12、可选地,还包括:
13、根据字典映射数据结构生成字符映射字典与词组映射字典;其中,所述字符映射字典用于指示所述待转换字符与所述可转换字符的映射关系;所述词组映射字典用于指示所述待转换词组与所述可转换词组的映射关系;
14、根据可转换字符映射字典、字符映射字典、词组映射字典与转换方法,生成类型转换实例;所述转换方法用于指示所述待转换数据对应的转换方式。
15、可选地,所述根据所述字典映射数据结构,对其中具有相同首位字符的待转换字符或待转换词组,建立对应的二进制序列的步骤,包括:
16、获取具有相同首位字符的待转换字符或待转换词组,构成相同首位字符文字集合;
17、为所述相同首位字符文字集合构建对应的二进制序列;其中,每个所述二进制序列的每一位与包含对应首位字符的待转换字符或待转换词组的字符长度对应;若任意位存在对应的待转换字符或待转换词组,则所述位被配置为1;若任意位不存在对应的待转换字符或待转换词组,则所述位被配置为0。
18、可选地,在所述根据待转换数据的转换类型,确认对应的类型转换实例之后,包括:
19、逐个获取所述待转换数据中未完成查找的首位字符,作为所述待确认字符;
20、从所述可转换字符映射字典中获得所述二进制整数值;
21、判断所述二进制整数值是否为空;
22、若不为空,则所述确认所述二进制序列中的目标长度的步骤,包括:
23、判断所述二进制整数值是否大于1;
24、若大于1,则从高位向低位逐个检查所述二进制序列的每一位;其中所述二进制序列的位数由高向低与对应的待转换字符或待转换词组的字符长度成正比;
25、所述分别针对每个所述目标长度,在所述类型转换实例中查找是否存在与所述待确认字符对应的目标转换字符或目标转换词组的步骤,包括:
26、当所述二进制序列的目标位被配置为1时,在所述词组映射字典中查找是否存在与所述目标位的字符长度一致的目标转换词组;
27、若存在,则所述待确认字符作为所述待转换字符,并将全部所述待转换字符转换为对应的目标转换词组,以获得转换后的文字。
28、可选地,在所述根据待转换数据的转换类型,确认对应的类型转换实例之后,包括:
29、若所述二进制整数值等于1,则所述分别针对每个所述目标长度,在所述类型转换实例中查找是否存在与所述待确认字符对应的目标转换字符或目标转换词组的步骤,包括:
30、在所述字符映射字典中查找是否存在与所述待确认字符对应的目标转换字符;
31、若存在,则所述待确认字符作为所述待转换字符,并将全部所述待转换字符转换为对应的目标转换字符,以获得转换后的文字。
32、可选地,所述从高位向低位逐个检查所述二进制序列的每一位的步骤,包括:
33、获取最大可查长度;所述最大可查长度表征查询所述二进制序列的最大长度;所述最大可查长度小于或等于所述待转换数据中未完成查找的字符长度;
34、若所述最大可查长度大于1,则根据所述最大可查长度检查所述二进制序列与所述最大可查长度对应的目标位;
35、完成一次检查后,若未查找到与所述待确认字符对应的目标转换词组;则所述最大可查长度递减,并返回执行若所述最大可查长度大于1,则根据所述最大可查长度检查所述二进制序列与所述最大可查长度对应的目标位的步骤,直至当所述二进制序列的目标位被配置为1,且在所述词组映射字典中查找到与所述目标位的字符长度一致的目标转换词组,则结束循环。
36、第二方面,本申请实施例提供一种文字转换装置,包括:
37、确认模块,用于根据待转换数据的转换类型,确认对应的类型转换实例;所述待转换数据包含至少一个待确认字符;所述类型转换实例包含二进制整数值,所述二进制整数值对应的二进制序列中的每个字符位用于指示所述待确认字符在对应长度上是否存在可转换字或可转换词组;若所述二进制整数值不为空,则确认所述二进制序列中的目标长度;每个所述目标长度用于指示所述待确认字符在对应目标长度上存在可转换字符或可转换词组;
38、查找模块,用于分别针对每个所述目标长度,在所述类型转换实例中查找是否存在与所述待确认字符对应的目标转换字符或目标转换词组;
39、转换模块,用于若本文档来自技高网...
【技术保护点】
1.一种文字转换方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述根据待转换数据的转换类型,确认对应的类型转换实例的步骤之前,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述字典映射数据结构,对其中具有相同首位字符的待转换字符或待转换词组,建立对应的二进制序列的步骤,包括:
5.根据权利要求3所述的方法,其特征在于,在所述根据待转换数据的转换类型,确认对应的类型转换实例之后,包括:
6.根据权利要求5所述的方法,其特征在于,在所述根据待转换数据的转换类型,确认对应的类型转换实例之后,包括:
7.根据权利要求5所述的方法,其特征在于,所述从高位向低位逐个检查所述二进制序列的每一位的步骤,包括:
8.一种文字转换装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任
11.一种程序产品,其特征在于,所述程序产品被处理器执行时,实现如权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种文字转换方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述根据待转换数据的转换类型,确认对应的类型转换实例的步骤之前,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述字典映射数据结构,对其中具有相同首位字符的待转换字符或待转换词组,建立对应的二进制序列的步骤,包括:
5.根据权利要求3所述的方法,其特征在于,在所述根据待转换数据的转换类型,确认对应的类型转换实例之后,包括:
6.根据权利要求5所述的...
【专利技术属性】
技术研发人员:汪守朝,杨森,袁丽华,
申请(专利权)人:恒生电子股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。