数据流编码的预测方法及预测装置的制造方法

文档序号:9708422阅读:676来源:国知局
数据流编码的预测方法及预测装置的制造方法
【技术领域】
[0001] 本发明涉及互联网技术领域,特别是涉及一种数据流编码的预测方法及数据流编 码的预测装置。
【背景技术】
[0002] 在大数据分析挖掘的时代中,在获得大量数据源后,首先要检测出来它们是哪种 数据流编码方便去解析和文本处理。目前主要是为特定的数据源指定好编码,而无法自动 的解析。以错误的编码打开或一个文件会导致乱码,人们需要知道文本具体的编码信息。人 们需要手动选择各种编码,直到能够正确显示文本为止,这是个痛苦的过程。数据流编码猜 测工具能使人们从这种繁琐的过程中解脱出来。
[0003] 现在已经有了一些数据流编码猜测的工具,如IE和Mozilla都集成了这种功能。而 IE,Mozilla等浏览器,它们提供一个自动选择编码的菜单,当遇到一个未指定编码的HTML 文件时,便会自动调用这个工具,得出最可能的编码,然后正确显示网页。往往需要手动指 定下,如果出错也不能再次自动更换。
[0004] Mozilla在实现中可以统计一些(512个)常用字符的分布率,然后同理想分布率比 较,得出可靠度,来确定可能的编码。但是,这种方法的一个缺陷是,它只对那些用两个字节 编码的语言有效,如GB2312,Big5等,对于单字节的编码,如IS0-8859-2,就只能用其变通方 式,双字符序列分布方法。而像UTF-8那样用不确定字节编码的,就没有办法用该种频率分 析方法了,只能用编码模式的方法来确定。
[0005] 这样将带来了分析程序的复杂性,同时导致了效率的低下。一开始,程序不能够确 定用哪种方式来猜测编码,必须逐一试用。如先用状态机探测,接下来用单字符序列分析, 接着再双字符序列分析。当然,可能在状态机探测时,就能得出了可信的结果,但从平均效 率来讲,这种方法还是很低效的。

【发明内容】

[0006] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种数据流编码的预测方 法及数据流编码的预测装置,用于解决现有技术中数据流的预测方法复杂且准确度低的问 题。
[0007] 为实现上述目的及其他相关目的,本发明提供一种数据流编码的预测方法,所述 数据流编码的预测方法包括以下步骤:获取各种编码的测试样本;根据第一类型编码的测 试样本形成出现频率表或根据第二类型编码的测试样本形成有穷状态自动机;获取待预测 的数据流文本,并对所述待预测的数据流文本进行去噪处理,所述去噪处理的结果包括第 一结果或第二结果;当去噪处理的结果为第一结果时,根据有穷状态自动机确定待预测的 数据流文本的编码格式;当去噪处理的结果为第二结果时,计算待预测的数据流文本的出 现频率数组;将待预测的数据流文本的出现频率数组与出现频率表进行比对以获得待预测 的数据流文本的编码格式。
[0008] 于本发明的一实施例中,所述根据第一类型编码的测试样本形成出现频率表步骤 包括:对第一类型编码的测试样本进行去噪处理;根据去噪处理后的测试样本计算各编码 的出现频率数组,以形成出现频率表。
[0009] 于本发明的一实施例中,所述计算待预测的数据流文本的出现频率数组的步骤包 括:计算去噪处理后的数据流文本中每个字节出现的频率;将每个字节出现的频率记录进 数组以形成出现频率数组。
[0010] 于本发明的一实施例中,所述将每个字节出现的频率记录进数组以形成出现频率 数组的步骤包括:计算每个字节出现的频率与一百有效字节的比值以形成出现频率数组, 所述有效字节为对待预测的数据流文本进行去噪处理后的字节数。
[0011] 于本发明的一实施例中,将待预测的数据流文本的出现频率数组与出现频率表进 行比对以获得待预测的数据流文本的编码格式的步骤包括:计算待预测的数据流文本的出 现频率数组与出现频率表之间组间差;将最小组间差所对应的编码格式作为待预测的数据 流文本的编码格式。
[0012] 于本发明的一实施例中,将待预测的数据流文本的出现频率数组与出现频率表进 行比对以获得待预测的数据流文本的编码格式的步骤包括:计算待预测的数据流文本的出 现频率数组与出现频率表之间组间方差;将最小组间方差所对应的编码格式作为待预测的 数据流文本的编码格式。
[0013] 本发明提供一种数据流编码的预测装置,所述数据流编码的预测装置包括:测试 样本获取模块,用于获取各种编码的测试样本;测试样本处理模块,用于根据第一类型编码 的测试样本形成出现频率表或根据第二类型编码的测试样本形成有穷状态自动机;数据流 文本处理模块,用于获取待预测的数据流文本,并对所述待预测的数据流文本进行去噪处 理,所述去噪处理的结果包括第一结果或第二结果;编码格式确定模块,用于当去噪处理的 结果为第一结果时,根据有穷状态自动机确定待预测的数据流文本的编码格式;还用于当 去噪处理的结果为第二结果时,计算待预测的数据流文本的出现频率数组;将待预测的数 据流文本的出现频率数组与出现频率表进行比对以获得待预测的数据流文本的编码格式。
[0014] 于本发明的一实施例中,所述测试样本处理模块包括:第一去噪单元,用于对第一 类型编码的测试样本进行去噪处理;出现频率表形成单元,用于根据去噪处理后的测试样 本计算各编码的出现频率数组,以形成出现频率表;有穷状态自动机形成单元,用于根据第 二类型编码的测试样本形成有穷状态自动机。
[0015] 于本发明的一实施例中,所述出现频率表形成单元包括:频率计算单元,用于计算 去噪处理后的数据流文本中每个字节出现的频率;记录单元,用于将每个字节出现的频率 记录进数组以形成出现频率数组。
[0016] 于本发明的一实施例中,所述编码格式确定模块包括:第一确定单元,用于当去噪 处理的结果为第一结果时,根据有穷状态自动机确定待预测的数据流文本的编码格式;计 算单元,用于计算待预测的数据流文本的出现频率数组与出现频率表之间组间差或者组间 方差;第二确定单元,用于将最小组间差或最小组间方差所对应的编码格式作为待预测的 数据流文本的编码格式。
[0017] 如上所述,本发明的数据流编码的预测方法及数据流编码的预测装置,具有以下 有益效果:
[0018] 本发明的数据流编码的预测方法及数据流编码的预测装置,通过对编码类型进行 区别,在去噪处理后,可以快速的确定预测的方式,从而极大的提高了预测的效率;并且,本 发明可以实现对各种编码的预测,从而大大提高了预测的准确度。
【附图说明】
[0019] 图1显示为本发明的数据流编码的预测方法于一实施例中的流程示意图。
[0020] 图2显示为本发明的数据流编码的预测装置于一实施例中的结构示意图。
[0021] 图3显示为本发明的数据流编码的预测装置于另一实施例中的结构示意图。
[0022] 元件标号说明
[0023] 2 数据流编码的预测装置
[0024] 21 测试样本获取模块
[0025] 22 测试样本处理模块
[0026] 23 数据流文本处理模块
[0027] 24 编码格式确定模块
[0028] 221 第一去噪单元
[0029] 222 出现频率表形成单元
[0030] 223 有穷状态自动机形成单元
[0031 ] 241 第一确定单元
[0032] 242 计算单元
[0033] 243 第二确定单元
[0034] S11 ~S16 步骤
【具体实施方式】
[0035] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施 例中的特征可以相互组合。
[0036] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构 想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸 绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也 可能更为复杂。
[0037] 正如【背景技术】中所述的,现有的一些数据流编码猜测工具虽然可以实现部分编码 的猜测功能,但是其效率低下,并且对其他的一些编码仍然无法正确预测,从而导致乱码。 而本发明的发明人对各种编码进行了深入研究,发现文本中会包含很多的编码信息,一些 数据会在某些编码中经常出现,而有些则永远不会出现;还有一些编码会有一些标记的符 号(字符序列),如UTF的Β0Μ(字节顺序标记),IS0-2022的ESC序列,通过这些标记,能够准确 地定位到该编码。对于一段不是随机出现,而是有实际意义的文本来说,其内部总会有一些 关联。一种很明显的关联是各种常用字符的出现频率总会很高,如对于中文,"的"、"了"之 类的出现频率非常高。本发明正是基于对编码的深入研究,提出了一种高效且准确的数据 流编码的预测方法及预测装置。
[0038] 为了更好地对本发明的
【发明内容】
进行说明,下面首先对各种编码格式做简要介 绍。
[0039] 1)ASCII码
[0040] ASCII的全称是"美国信息交换标准代码"。每个ASCII码以1个字节(Byte)储存,从 0到数字127代表不同的常用符号,例如大写A的ASCII码是65,小写a则是97。由于ASCII字节 的七个位,最高位并不使用,所以后来又将最高的一个位也编入这套内码中,成为八个位的 延伸ASCII (Extended ASCII)码,这套内码加上了许多外文和表格等特殊符号,为目前常用 的内码。
[0041 ] 2) IS0-8859 系列
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1