数据的恢复方法和装置制造方法及图纸

技术编号:18114852 阅读:18 留言:0更新日期:2018-06-03 08:10
本发明专利技术公开了一种数据的恢复方法和装置。其中,该方法包括:获取待恢复数据的字符串;采用至少一种编码算法分别对待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果;采用至少一种解码算法依次对每种编码算法编码得到的编码结果进行解码,得到多个解码结果;将多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果。本发明专利技术解决了现有的乱码恢复方法需要知道乱码的编码规则的技术问题。

【技术实现步骤摘要】
数据的恢复方法和装置
本专利技术涉及计算机数据处理领域,具体而言,涉及一种数据的恢复方法和装置。
技术介绍
随着计算机网络的发展,电脑、手机等电子设备已成为人们生活和工作离不开的随身工具。但是,当使用电脑或手机打开某一个电子文档或某个网页的时候,经常会出现乱码、页面不能正常显示的情况,这是因为不同的系统、不同的应用软件对汉字采取编码规则(例如,UTF-8、UTF-16大端、UTF-16小端、GBK、GB2312等)不同,当汉字数据在不同软件和系统间传递时,使用了不相应的字符集来对源数据进行解码,因而会导致显示的汉字变为乱码。目前,针对编码错误的数据进行恢复,现有技术采用的方案主要根据汉字乱码的编码方式进行转换。而采用现有的编码错误恢复方法需要知道汉字乱码的编码方式,才能对汉字乱码进行恢复。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种数据的恢复方法和装置,以至少解决现有的乱码恢复方法需要知道乱码的编码规则的技术问题。根据本专利技术实施例的一个方面,提供了一种数据的恢复方法,包括:获取待恢复数据的字符串;采用至少一种编码算法分别对待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果;采用至少一种解码算法依次对每种编码算法编码得到的编码结果进行解码,得到多个解码结果;将多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果。进一步地,编码算法与解码算法为基于不同编码规则的算法,其中,编码规则至少包括以下任意二种:UTF-8、UTF-16大端、UTF-16小端、GBK和GB2312。进一步地,采用至少一种编码算法分别对待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果,包括:判断编码算法是否为使用过的编码算法;如果编码算法不是使用过的编码算法,则采用编码算法对待恢复数据的字符串进行编码,得到相应的编码结果;将编码算法标记为使用过的编码算法;遍历所有的编码算法,直到将所有的编码算法都标记为使用过的编码算法。进一步地,采用至少一种解码算法依次对每种编码算法编码得到的编码结果进行解码,得到多个解码结果,包括:基于每种编码算法,判断解码算法是否为使用过的解码算法;如果解码算法不是使用过的解码算法,则采用解码算法对每种编码算法得到的编码结果进行解码,得到相应的解码结果;将解码算法标记为使用过的解码算法;遍历所有的解码算法,直到将所有的解码算法都标记为使用过的解码算法。进一步地,将多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果包括:将多个解码结果中的字符与字符库中存储的多个字符进行匹配,统计从字符库中成功匹配到字符的字符数目;计算字符数目在解码结果的所有字符中的占比;判断解码结果的占比是否超过预设阈值;如果解码结果的占比超过预设阈值,则输出解码结果。进一步地,如果将多个解码结果与预存的字符进行匹配,没有符合预设条件的解码结果,则输出待恢复数据恢复失败的提示信息。根据本专利技术实施例的另一方面,还提供了一种数据的恢复装置,包括:获取模块,用于获取待恢复数据的字符串;第一编码模块,用于采用至少一种编码算法分别对待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果;第一解码模块,用于采用至少一种解码算法依次对每种编码算法编码得到的编码结果进行解码,得到多个解码结果;第一输出模块,用于将多个解码结果与预存的字符库进行匹配处理,输出符合预设条件的解码结果。进一步地,编码算法与解码算法为基于不同编码规则的算法,其中,编码规则至少包括以下任意二种:UTF-8、UTF-16大端、UTF-16小端、GBK和GB2312。进一步地,上述第一编码模块包括:第一判断模块,用于判断编码算法是否为使用过的编码算法;第二编码模块,用于如果编码算法不是使用过的编码算法,则采用编码算法对待恢复数据的字符串进行编码,得到相应的编码结果;第一标记模块,用于将编码算法标记为使用过的编码算法;第一循环模块,用于遍历所有的编码算法,直到将所有的编码算法都标记为使用过的编码算法。进一步地,上述第一解码模块包括:第二判断模块,用于基于每种编码算法,判断解码算法是否为使用过的解码算法;第二解码模块,用于如果解码算法不是使用过的解码算法,则采用解码算法对每种编码算法得到的编码结果进行解码,得到相应的解码结果;第二标记模块,用于将解码算法标记为使用过的解码算法;第二循环模块,用于遍历所有的解码算法,直到将所有的解码算法都标记为使用过的解码算法。进一步地,上述第一输出模块包括:比对模块,用于将多个解码结果中的字符与字符库中存储的多个字符进行匹配,统计从解码结果中成功匹配到字符的字符数目;计算模块,用于计算字符数目在解码结果的所有字符中的占比;判断模块,用于判断解码结果的占比是否超过预设阈值;第二输出模块,用于如果解码结果的占比超过预设阈值,则输出解码结果。进一步地,上述装置还包括:第三输出模块,用于如果将多个解码结果与预存的字符库进行匹配,没有符合预设条件的解码结果,则输出待恢复数据恢复失败的提示信息。在本专利技术实施例中,通过获取待恢复数据的字符串;采用至少一种编码算法分别对待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果;采用至少一种解码算法依次对每种编码算法编码得到的编码结果进行解码,得到多个解码结果;将多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果,达到了自动尝试基于所有编码规则的编码算法与解码算法的组合来将乱码的字符串进行转换的目的,从而实现了将乱码的字符串进行自动恢复的技术效果,进而解决了现有的乱码恢复方法需要知道乱码的编码规则的技术问题。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种数据的恢复方法流程图;图2是根据本专利技术实施例的一种可选的数据的恢复方法流程图;图3是根据本专利技术实施例的一种可选的数据的恢复方法流程图;图4是根据本专利技术实施例的一种可选的数据的恢复方法流程图;图5是根据本专利技术实施例的一种优选的乱码恢复装置示意图;图6是根据本专利技术实施例的一种优选的乱码恢复方法流程图;以及图7是根据本专利技术实施例的一种数据的恢复装置示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品本文档来自技高网
...
数据的恢复方法和装置

【技术保护点】
一种数据的恢复方法,其特征在于,包括:获取待恢复数据的字符串;采用至少一种编码算法分别对所述待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果;采用至少一种解码算法依次对所述每种编码算法编码得到的编码结果进行解码,得到多个解码结果;将所述多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果。

【技术特征摘要】
1.一种数据的恢复方法,其特征在于,包括:获取待恢复数据的字符串;采用至少一种编码算法分别对所述待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果;采用至少一种解码算法依次对所述每种编码算法编码得到的编码结果进行解码,得到多个解码结果;将所述多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果。2.根据权利要求1所述的方法,其特征在于,所述编码算法与所述解码算法为基于不同编码规则的算法,其中,所述编码规则至少包括以下任意二种:UTF-8、UTF-16大端、UTF-16小端、GBK和GB2312。3.根据权利要求2所述的方法,其特征在于,采用至少一种编码算法分别对所述待恢复数据的字符串进行编码,得到每种编码算法编码得到的编码结果,包括:判断所述编码算法是否为使用过的编码算法;如果所述编码算法不是所述使用过的编码算法,则采用所述编码算法对所述待恢复数据的字符串进行编码,得到相应的编码结果;将所述编码算法标记为所述使用过的编码算法;遍历所有的编码算法,直到将所有的编码算法都标记为所述使用过的编码算法。4.根据权利要求3所述的方法,其特征在于,采用至少一种解码算法依次对所述每种编码算法编码得到的编码结果进行解码,得到多个解码结果,包括:基于所述每种编码算法,判断所述解码算法是否为使用过的解码算法;如果所述解码算法不是所述使用过的解码算法,则采用所述解码算法对每种编码算法得到的编码结果进行解码,得到相应的解码结果;将所述解码算法标记为所述使用过的解码算法;遍历所有的解码算法,直到将所述所有的解码算法都标记为所述使用过的解码算法。5.根据权利要求1所述的方法,其特征在于,将所述多个解码结果与预存的字符库进行匹配,输出符合预设条件的解码结果包括:将所述多个解码结果中的字符与所述字符库中存储的多个字符进行匹配,统计从所述字符库中成功匹配到字符的字符数目;计算所述字符数目在所述解码结果的所有字符中的占比;判断所述解码结果的占比...

【专利技术属性】
技术研发人员:焦惠达
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京,11

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

1