CN117217170A - 字符转换处理方法、装置、电子设备及存储介质 - Google Patents

字符转换处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117217170A
CN117217170A CN202311254253.7A CN202311254253A CN117217170A CN 117217170 A CN117217170 A CN 117217170A CN 202311254253 A CN202311254253 A CN 202311254253A CN 117217170 A CN117217170 A CN 117217170A
Authority
CN
China
Prior art keywords
character
characters
converted
target
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311254253.7A
Other languages
English (en)
Inventor
聂砂
罗奕康
董伟琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202311254253.7A priority Critical patent/CN117217170A/zh
Publication of CN117217170A publication Critical patent/CN117217170A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本申请提供一种字符转换处理方法、装置、电子设备及存储介质,通过获取源字符集中的待转换字符串和目标字符集;根据源字符集和目标字符集,遍历待转换字符串中的每个字符是否为可直接转换字符;将待转换字符串中的可直接字符追加至临时字符串中,以及采用目标转换策略对待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至临时字符串中;将临时字符串转换得到目标字符集中的目标字符串。可以实现任意的源字符集能够更为平滑转换到目标字符集,可以处理各种不同的编码格式,而且在处理大量数据时也能保持高效性能的技术效果。

Description

字符转换处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术,具体涉及编码转换技术,尤其涉及一种字符转换处理方法、装置、电子设备及存储介质。
背景技术
目前,编码转换是计算机科学中的一个重要问题,特别是在处理非英语语言时,由于非英语语言可能涉及多种编码格式,不同编码格式之间存在编码的差异和编码转换的需求。例如,有一些字符在可变长度字符编码UTF-8中是可以正常显示的,但是在汉字编码GBK中就找不到对应的字符编码,这个时候编码转换后就会出现乱码或者不可见字符。这种编码转换的问题在系统对接中非常常见,尤其是在处理大量数据时,这种问题可能会导致数据的丢失或者错误。
在现有的技术中,已经有许多不同的解决方案,例如,有一些使用特定的编码系数进行编码转换的方法,有一些支持具有异构数据库字符集的可插入数据库的方法,还有一些对文本内容进行数字水印加密保护的方法和设备,以及使用不同字符集编写的查询进行搜索的方法。
然而,上述现有技术方案都有其局限性。例如,一些方法可能只适用于特定的编码格式,或者只能处理特定类型的数据,此外,一些方法可能需要大量的计算资源,或者在处理大量数据时可能会出现性能问题。
发明内容
本申请提供一种字符转换处理方法、装置、电子设备及存储介质,用以解决现有的字符转换方案只适用于特定的编码格式,或者存在异常转换的问题,实现任意的源字符集能够更为平滑转换到目标字符集,可以处理各种不同的编码格式,而且在处理大量数据时也能保持高效性能的技术效果。
一方面,本申请提供一种字符转换处理方法,所述方法包括:
获取源字符集中的待转换字符串和目标字符集;
根据所述源字符集和所述目标字符集,遍历所述待转换字符串中的每个字符是否为可直接转换字符;
将所述待转换字符串中的所述可直接字符追加至临时字符串中,以及采用目标转换策略对所述待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至所述临时字符串中;
将所述临时字符串转换得到所述目标字符集中的目标字符串。
一种可选的实施方式,根据所述源字符集和所述目标字符集,遍历所述待转换字符串中的每个字符是否为可直接转换字符,包括:
将所述待转换字符串中的每个所述字符转换得到对应的目标编码;
将每个所述字符对应的目标编码转换得到源编码;
比对每个所述字符对应的所述源编码和转换前的所述字符是否一致;
确定对比结果一致的字符为所述可直接转换字符。
一种可选的实施方式,采用目标转换策略对所述待转换字符串中的不可直接字符进行转换处理,包括如下至少之一:
将所述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串;
将所述不可直接字符中符合采用映射公式的字符,采用所述映射公式转换为新字符或者新字符串;
将所述不可直接字符中符合采用扩展规则的字符,采用所述扩展规则转换为新字符或者新字符串;
将所述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。
一种可选的实施方式,将所述待转换字符串中的所述可直接字符追加至临时字符串中,包括:
自定义所述可直接字符的可用字符范围;
将自定义处理后的可直接字符追加至所述临时字符串中。
另一方面,本申请提供一种字符转换处理装置,所述装置包括:
获取模块,用于获取源字符集中的待转换字符串和目标字符集;
遍历模块,用于根据所述源字符集和所述目标字符集,遍历所述待转换字符串中的每个字符是否为可直接转换字符;
第一处理模块,用于将所述待转换字符串中的所述可直接字符追加至临时字符串中,以及采用目标转换策略对所述待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至所述临时字符串中;
第二处理模块,用于将所述临时字符串转换得到所述目标字符集中的目标字符串。
一种可选的实施方式,所述遍历模块,包括:
第一转换单元,用于将所述待转换字符串中的每个所述字符转换得到对应的目标编码;
第二转换单元,用于将每个所述字符对应的目标编码转换得到源编码;
对比单元,用于比对每个所述字符对应的所述源编码和转换前的所述字符是否一致;
确定单元,用于确定对比结果一致的字符为所述可直接转换字符。
一种可选的实施方式,所述第一处理模块,包括如下至少之一:
第一处理单元,用于将所述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串;
第二处理单元,用于将所述不可直接字符中符合采用映射公式的字符,采用所述映射公式转换为新字符或者新字符串;
第三处理单元,用于将所述不可直接字符中符合采用扩展规则的字符,采用所述扩展规则转换为新字符或者新字符串;
第四处理单元,用于将所述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。
另一方面,本申请提供一种电子设备,包括:处理器,以及与上述处理器连接的存储器;上述存储器存储计算机执行指令;上述处理器执行上述存储器存储的计算机执行指令,以实现如任一项上述的方法。
另一方面,本申请提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机执行指令,上述计算机执行指令被处理器执行时用于实现如任一项上述的方法。
另一方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现任一项上述的方法。
本申请提供的字符转换处理方法、装置、电子设备及存储介质,通过获取源字符集中的待转换字符串和目标字符集;根据源字符集和目标字符集,遍历待转换字符串中的每个字符是否为可直接转换字符;将待转换字符串中的可直接字符追加至临时字符串中,以及采用目标转换策略对待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至临时字符串中;将临时字符串转换得到目标字符集中的目标字符串。
进而本申请可以解决现有的字符转换方案只适用于特定的编码格式,或者存在异常转换的问题,实现任意的源字符集能够更为平滑转换到目标字符集,可以处理各种不同的编码格式,而且在处理大量数据时也能保持高效性能的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例所提供的一种字符转换处理方法的流程示意图;
图2为本申请实施例提供的一种可选的字符转换处理方法的流程示意图;
图3是本申请实施例所提供的一种可选的字符转换处理方法的流程示意图;
图4为本申请实施例提供的一种字符转换处理装置的结构框图;
图5为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,将Unicode字符集的抽象代码位映射为8位长整数(即代码位)进行数据存储或传输的序列。
目前,编码转换是计算机科学中的一个重要问题,特别是在处理非英语语言时,由于非英语语言可能涉及多种编码格式,不同编码格式之间存在编码的差异和编码转换的需求。例如,有一些字符在可变长度字符编码UTF-8中是可以正常显示的,但是在汉字编码GBK中就找不到对应的字符编码,这个时候编码转换后就会出现乱码或者不可见字符。这种编码转换的问题在系统对接中非常常见,尤其是在处理大量数据时,这种问题可能会导致数据的丢失或者错误。
在现有的技术中,已经有许多不同的解决方案,例如,有一些使用特定的编码系数进行编码转换的方法,有一些支持具有异构数据库字符集的可插入数据库的方法,还有一些对文本内容进行数字水印加密保护的方法和设备,以及使用不同字符集编写的查询进行搜索的方法。
然而,上述现有技术方案都有其局限性。例如,一些方法可能只适用于特定的编码格式,或者只能处理特定类型的数据。此外,一些方法可能需要大量的计算资源,或者在处理大量数据时可能会出现性能问题。
本申请的发明人在对现有技术进行深入研究后,发现一些关键的缺点。
首先,许多现有的编码转换技术,一些方案主要关注特定的编码系数进行编码转换,这限制了其在处理多种编码格式时的应用范围。另一些方案虽然支持异构数据库字符集,但其主要关注数据库环境,对于非数据库环境的编码转换问题,这些技术可能无法提供有效的解决方案。
其次,一些现有的技术在处理大量数据时可能会出现性能问题。例如,一些方案虽然可以对文本内容进行数字水印加密保护,但在处理大量数据时,可能会消耗大量的计算资源,导致性能瓶颈。
针对这些缺点,本申请实施例提供了一种新的字符编码转换方案,可以解决任意两种字符编码之间的异常转换问题,可以支持使用字符过滤或者字符映射的方式,使得在任意的源字符集能够更为平滑转换到目标字符集。这种方法不仅可以处理各种不同的编码格式,而且在处理大量数据时也能保持高效的性能,进而可以满足更广泛的编码转换需求,在保证性能的同时,有效地避免了乱码或者不可见字符的出现。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1是本申请实施例所提供的一种字符转换处理方法的流程示意图,如图1所示,该方法包括:
S101,获取源字符集中的待转换字符串和目标字符集。
S102,根据上述源字符集和上述目标字符集,遍历上述待转换字符串中的每个字符是否为可直接转换字符。
S103,将上述待转换字符串中的上述可直接字符追加至临时字符串中,以及采用目标转换策略对上述待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至上述临时字符串中。
S104,将上述临时字符串转换得到上述目标字符集中的目标字符串。
一种可选的实施例中,本申请实施例的字符转换处理方案可以在一个字符转换系统、设备或者装置上实现,例如,该字符转换系统上主要包含三大模块:编码穷举模块、策略模块和编码转换模块,本申请实施例通过控制上述三个模块共同工作,实现了从源字符集到目标字符集的平滑编码转换。
可选的,上述源字符集和上述目标字符集均可以为可变长度字符编码UTF8或者汉字编码GBK,因此,本申请实施例中的字符转换处理可以是由源字符集UTF8到目标字符集GBK的转换,也可以是由源字符集GBK到目标字符集UTF8的转换。
一种示例中,本申请实施例具体可以采用编码穷举模块在源字符集中穷举所有编码,根据上述源字符集和上述目标字符集,例如,编码格式、编码类型等,遍历上述待转换字符串中的每个字符是否为可直接转换字符,其中,该可直接转换字符可以理解为是不需要根据转换策略执行对应具体转换的字符。
此外,本申请实施例将待转换字符串中的一类可直接字符,不执行其他转换处理,直接追加至临时字符串中,以及采用策略模块,根据预先确定的目标转换策略对待转换字符串中的不可直接字符进行转换处理,之后,再将转换处理得到的转换后字符追加至上述临时字符串中。
由于源字符集中的所有字符串均已经存在上述临时字符串中,本申请实施例,通过将临时字符串无损地转换得到上述目标字符集中的目标字符串,即可以实现任意两种字符集编码之间的平滑转换,避免了乱码或者不可见字符的出现,同时也保证了在处理大量数据时的高效性能。
本申请提供的字符转换处理方法、装置、电子设备及存储介质,通过获取源字符集中的待转换字符串和目标字符集;根据源字符集和目标字符集,遍历待转换字符串中的每个字符是否为可直接转换字符;将待转换字符串中的可直接字符追加至临时字符串中,以及采用目标转换策略对待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至临时字符串中;将临时字符串转换得到目标字符集中的目标字符串。
进而本申请可以解决现有的字符转换方案只适用于特定的编码格式,或者存在异常转换的问题,实现任意的源字符集能够更为平滑转换到目标字符集,可以处理各种不同的编码格式,而且在处理大量数据时也能保持高效性能的技术效果。
本申请实施例中,通过编码穷举方式,在源字符集中穷举所有编码,使用JAVA的转换能力将每个字符转换为目标编码,然后再转回源编码,比对结果和上述源字符集中的字符是否一致;进而可以准确地找出哪些字符是可以在两种编码中正常转换的可直接转换字符,哪些字符是无法直接转换的不可直接转换字符。
可选的,本申请实施例,还提供了两种基本策略,即可直接转换字符的存储,以及不可直接转换字符的转换处理策略。
一种可选的实施方式,将上述待转换字符串中的上述可直接字符追加至临时字符串中,包括:
自定义上述可直接字符的可用字符范围;
将自定义处理后的可直接字符追加至上述临时字符串中。
对于可直接转换字符,可以使用树图TreeMap(TreeMap是Java中的一种集合类)来定义可直接转换字符中的可用字符范围(例如0x20-0x7f,0x3400-0x9a5f,配置策略时可根据编码穷举模块的结果再自定义缩小该范围),用少量的存储空间可以快速标识出哪些字符范围是无需处理的可直接转换字符,其余是需要后续处理的不可直接转换字符。
可选的,在对待不可直接转换字符的转换处理时,输入是一个源字符集编码的待转换字符串,输出的转换后字符即是目标字符集编码的目标字符串,可以实现任意两种编码之间的平滑转换。具体本申请实施例中,字符转换策略支持将任意字符配置映射到一个新字符或者字符串,可以有效地处理各种编码转换问题。
一种可选的实施方式,图2是本申请实施例所提供的一种字符转换处理方法的流程示意图,如图2所示,根据上述源字符集和上述目标字符集,遍历上述待转换字符串中的每个字符是否为可直接转换字符,包括:
S201,将上述待转换字符串中的每个上述字符转换得到对应的目标编码;
S202,将每个上述字符对应的目标编码转换得到源编码。
S203,比对每个上述字符对应的上述源编码和转换前的上述字符是否一致。
S204,确定对比结果一致的字符为上述可直接转换字符。
本申请实施例中,可以采用编码穷举模块,在源字符集中穷举待转换字符串中的所有字符编码,使用JAVA的转换能力将每个字符编码转换为目标编码,然后再将目标编码转换得到源编码,比对转换得到的源编码结果和转换前的源字符是否一致。
例如,一种示例中,待转换字符串中的字符由UTF8编码格式到GBK编码格式的转换时,穷举UTF8编码格式的源字符集中的\u0000到\uffff的所有字符,分别转换到GBK编码格式之后,再转回UTF8编码格式,即可知道哪些字符可以在两种编码中可以直接转换,哪些字符是无法直接转换,需要根据对应转换策略进行转换处理的。
一种可选的实施方式,采用目标转换策略对上述待转换字符串中的不可直接字符进行转换处理,包括如下至少之一:
将上述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串。
将上述不可直接字符中符合采用映射公式的字符,采用上述映射公式转换为新字符或者新字符串。
将上述不可直接字符中符合采用扩展规则的字符,采用上述扩展规则转换为新字符或者新字符串。
将上述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。
采用本申请实施例的字符转换策略,支持将任意字符配置映射到一个新字符或者字符串。例如:将“の”映射为“的”,将“鱻”映射为“xian”。对于固定规则的批量字符转换,还可以扩展映射策略,使用计算公式或者拼音的方式进行映射,而不需要针对每个字符单独配置。
可选的,本申请实施例,对于不可直接转换的字符,可分别定义转换策略:
a)将上述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串,具体可以是直接映射到新字符/新字符串,符合直接映射的字符例如:全角空格映射0x3000到半角空格0x20。
b)将上述不可直接字符中符合采用映射公式的字符,采用上述映射公式转换为新字符或者新字符串,即根据公式映射到新字符/新字符串,例如0xff01-0xff5e映射到0x21-0x7e,针对这个范围的字符可以配置上c=c-fee0。
c)将上述不可直接字符中符合采用扩展规则的字符,采用上述扩展规则转换为新字符或者新字符串,即根据扩展规则映射到新字符/新字符串,例如,根据“鱻”拼音映射到目标字符串“xian”
d)将上述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。上述直接过滤策略,也是兜底策略,当上述a)、b)、c)中转换策略均无法覆盖的字符,默认直接过滤掉,不再处理。
与现有的字符编码转换技术相比,本申请实施例至少具有以下显著优点:
1、更广泛的应用范围:现有的编码转换技术,主要关注特定的编码系数进行编码转换或者异构数据库字符集的支持。然而,本申请实施例的编码转换装置可以解决任意两种编码之间的异常编码转换的问题,无论是数据库环境还是非数据库环境,无论是哪两种编码,采用本申请实施例均可以进行平滑的转换。
2、更高效的性能:一些现有的技术在处理大量数据时可能会出现性能问题,然而,本申请实施例的字符转换方案使用了高效的策略模块和编码转换模块,可以在处理大量数据时保持高效的性能。
3、更好的转换效果:本申请实施例的编码转换装置支持使用字符过滤或者字符映射的方式,使得在任意的源字符集到目标字符集编码转换能够更为平滑,有效地避免了乱码或者不可见字符的出现。
综上,本申请实施例所提供的字符转换方案不仅可以满足更广泛的编码转换需求,而且可以在保证性能的同时,有效地避免了乱码或者不可见字符的出现,实现了对任意两种字符编码之间的平滑转换。
图3是本申请实施例所提供的一种可选的字符转换处理方法的流程示意图,如图3所示,具体字符转换处理的整体方法流程可以包括:
S1.确定源字符集和目标字符集。
S2.采用编码穷举模块穷举源字符集转换到目标字符集时,有哪些字符是可直接转换字符。
S3.对于待转换字符串中的可直接转换字符,可自定义缩小可用字符的范围并将其存储于临时字符串中。
其余不可用字符均进入不可直接转换字符的范围。
S4.对于待转换字符串中的不可直接转换字符,分别采用预先定义的目标转换策略对不可直接字符进行转换处理,以将得到的转换后字符追加至上述临时字符串中;具体包括:
a)直接映射到新字符/新字符串,例如全角空格映射0x3000到半角空格0x20;
b)根据公式映射到新字符/新字符串,例如0xff01-0xff5e映射到0x21-0x7e,针对这个范围的字符可以配置上c=c-fee0;
c)根据扩展规则映射到新字符/新字符串,例如根据“鱻”拼音映射到目标字符串“xian”;
d)对于上述三种转换策略均不覆盖的字符,默认过滤,这一条策略也是兜底策略。
S5.将上述临时字符串转换得到上述目标字符集中的目标字符串。
S6.发布上述源字符集到目标字符集的编码转换API接口,以供其他调用方使用。
一种可选的实施例中,一种可选的编码转换的流程为:
输入:源字符集编码的待转换字符串s0
构建一个StringBuffer作为存储源字符集映射后的临时字符串;
遍历s0中的每个字符c,以查询每个字符c是否在可直接转换字符规则中,策略模块已从数据库加载该范围并使用树图TreeMap、网络价值定位图vaildMap存储这个规则(例如0x20-0x7f,0x3400-0x9a5f),用于快速检索,如果在范围内,则将字符c追加到临时字符串buffer中,本次循环结束(continue)获取下一个字符。
对于不在直接转换字符规则的字符c,根据转换策略找到其对应的字符/字符串c’,并追加到临时字符串buffer中,如果最终策略是过滤该字符,则直接过滤不做处理。
遍历s0完成后,将buffer.toString()转换成s0’,该字符串可无损地转换到目标编码字符串s1。
以上可以理解为是本申请实施例所提供的技术方案的详细阐述。通过上述方法实施例,本申请可以实现任意两种编码之间的平滑转换,避免了乱码或者不可见字符的出现,同时还可以保证在处理大量数据时的高效性能。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
根据本申请的一个或多个实施例,提供了一种字符转换处理装置,图4为本申请实施例提供的一种字符转换处理装置的结构框图,如图4所示,上述装置包括:
获取模块401,用于获取源字符集中的待转换字符串和目标字符集;
遍历模块402,用于根据上述源字符集和上述目标字符集,遍历上述待转换字符串中的每个字符是否为可直接转换字符;
第一处理模块403,用于将上述待转换字符串中的上述可直接字符追加至临时字符串中,以及采用目标转换策略对上述待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至上述临时字符串中;
第二处理模块404,用于将上述临时字符串转换得到上述目标字符集中的目标字符串。
一种可选的实施方式,上述遍历模块,包括:
第一转换单元,用于将上述待转换字符串中的每个上述字符转换得到对应的目标编码;
第二转换单元,用于将每个上述字符对应的目标编码转换得到源编码;
对比单元,用于比对每个上述字符对应的上述源编码和转换前的上述字符是否一致;
确定单元,用于确定对比结果一致的字符为上述可直接转换字符。
一种可选的实施方式,上述第一处理模块,包括如下至少之一:
第一处理单元,用于将上述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串;
第二处理单元,用于将上述不可直接字符中符合采用映射公式的字符,采用上述映射公式转换为新字符或者新字符串;
第三处理单元,用于将上述不可直接字符中符合采用扩展规则的字符,采用上述扩展规则转换为新字符或者新字符串;
第四处理单元,用于将上述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。
在示例性实施例中,本申请实施例还提供了一种电子设备,包括:处理器,以及与上述处理器连接的存储器;
上述存储器存储计算机执行指令;
上述处理器执行上述存储器存储的计算机执行指令,以实现如任一项上述的方法。
在示例性实施例中,本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机执行指令,上述计算机执行指令被处理器执行时用于实现如任一项上述的方法。
在示例性实施例中,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现任一项上述的方法。
为了实现上述实施例,本申请实施例还提供了一种电子设备。参考图5,其示出了适于用来实现本申请实施例的电子设备700的结构示意图,该电子设备700可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、消息收发设备,游戏控制台,医疗设备,健身设备,个人数字助理(Personal DigitalAssistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(Read Only Memory,简称ROM)702中的程序或者从存储装置708加载到随机访问存储器(Random Access Memory,简称RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行装置或设备使用或与指令执行装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种字符转换处理方法,其特征在于,所述方法包括:
获取源字符集中的待转换字符串和目标字符集;
根据所述源字符集和所述目标字符集,遍历所述待转换字符串中的每个字符是否为可直接转换字符;
将所述待转换字符串中的所述可直接字符追加至临时字符串中,以及采用目标转换策略对所述待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至所述临时字符串中;
将所述临时字符串转换得到所述目标字符集中的目标字符串。
2.根据权利要求1所述的方法,其特征在于,根据所述源字符集和所述目标字符集,遍历所述待转换字符串中的每个字符是否为可直接转换字符,包括:
将所述待转换字符串中的每个所述字符转换得到对应的目标编码;
将每个所述字符对应的目标编码转换得到源编码;
比对每个所述字符对应的所述源编码和转换前的所述字符是否一致;
确定对比结果一致的字符为所述可直接转换字符。
3.根据权利要求1所述的方法,其特征在于,采用目标转换策略对所述待转换字符串中的不可直接字符进行转换处理,包括如下至少之一:
将所述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串;
将所述不可直接字符中符合采用映射公式的字符,采用所述映射公式转换为新字符或者新字符串;
将所述不可直接字符中符合采用扩展规则的字符,采用所述扩展规则转换为新字符或者新字符串;
将所述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。
4.根据权利要求1所述的方法,其特征在于,将所述待转换字符串中的所述可直接字符追加至临时字符串中,包括:
自定义所述可直接字符的可用字符范围;
将自定义处理后的可直接字符追加至所述临时字符串中。
5.一种字符转换处理装置,其特征在于,所述装置包括:
获取模块,用于获取源字符集中的待转换字符串和目标字符集;
遍历模块,用于根据所述源字符集和所述目标字符集,遍历所述待转换字符串中的每个字符是否为可直接转换字符;
第一处理模块,用于将所述待转换字符串中的所述可直接字符追加至临时字符串中,以及采用目标转换策略对所述待转换字符串中的不可直接字符进行转换处理,以将得到的转换后字符追加至所述临时字符串中;
第二处理模块,用于将所述临时字符串转换得到所述目标字符集中的目标字符串。
6.根据权利要求5所述的装置,其特征在于,所述遍历模块,包括:
第一转换单元,用于将所述待转换字符串中的每个所述字符转换得到对应的目标编码;
第二转换单元,用于将每个所述字符对应的目标编码转换得到源编码;
对比单元,用于比对每个所述字符对应的所述源编码和转换前的所述字符是否一致;
确定单元,用于确定对比结果一致的字符为所述可直接转换字符。
7.根据权利要求5所述的装置,其特征在于,所述第一处理模块,包括如下至少之一:
第一处理单元,用于将所述不可直接字符中符合直接映射的字符,采用直接映射方式转换为新字符或者新字符串;
第二处理单元,用于将所述不可直接字符中符合采用映射公式的字符,采用所述映射公式转换为新字符或者新字符串;
第三处理单元,用于将所述不可直接字符中符合采用扩展规则的字符,采用所述扩展规则转换为新字符或者新字符串;
第四处理单元,用于将所述不可直接字符中符合直接过滤的字符,直接过滤不执行转换处理。
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至4中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法。
CN202311254253.7A 2023-09-26 2023-09-26 字符转换处理方法、装置、电子设备及存储介质 Pending CN117217170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311254253.7A CN117217170A (zh) 2023-09-26 2023-09-26 字符转换处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311254253.7A CN117217170A (zh) 2023-09-26 2023-09-26 字符转换处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117217170A true CN117217170A (zh) 2023-12-12

Family

ID=89044181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311254253.7A Pending CN117217170A (zh) 2023-09-26 2023-09-26 字符转换处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117217170A (zh)

Similar Documents

Publication Publication Date Title
CN109656923B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110704833A (zh) 数据权限配置方法、设备、电子设备及存储介质
CN111309304B (zh) 一种生成idl文件的方法、装置、介质和电子设备
CN110852720A (zh) 文档的处理方法、装置、设备及存储介质
CN112416303B (zh) 软件开发工具包热修复方法、装置及电子设备
CN116541174A (zh) 存储设备容量处理方法、装置、设备及存储介质
CN117217170A (zh) 字符转换处理方法、装置、电子设备及存储介质
WO2022242441A1 (zh) 电子表格导入方法、装置、设备及介质
CN112307061A (zh) 用于查询数据的方法和装置
US20240120991A1 (en) Method and apparatus for synchronizing time by parsing satellite navigation data
CN113157695B (zh) 数据处理方法、装置、可读介质及电子设备
CN111143355B (zh) 数据处理方法及装置
CN113971192A (zh) 数据处理方法、装置、可读介质及电子设备
CN112100211B (zh) 数据存储方法、装置、电子设备和计算机可读介质
CN112905090A (zh) 电子表格的处理方法、装置、终端和存储介质
CN112818710A (zh) 一种异步网络机器翻译请求的处理方法、装置
CN111753238A (zh) 数据映射方法、装置和电子设备
CN111737571A (zh) 搜索方法、装置和电子设备
CN111626045A (zh) 字符长度计算方法、装置及电子设备
CN111008178A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN111581331B (zh) 文案处理的方法、装置、电子设备及计算机可读介质
CN111309988A (zh) 基于编码的字符串检索方法、装置及电子设备
CN113032808B (zh) 数据处理方法、装置、可读介质及电子设备
CN110545108B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN115994120B (zh) 数据文件合并方法、装置、电子设备和计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination