中文字符的编码方式的识别方法和装置制造方法及图纸

技术编号:11062093 阅读:75 留言:0更新日期:2015-02-19 09:08
本发明专利技术实施例提供一种中文字符序列的编码方式的识别方法和装置。该方法包括:从待识别中文字符序列中获取字符序列特征,所述字符序列特征包括:字符序列的长度特征,或者字符序列的长度特征以及字符序列的异常编码点特征;根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式。由于无需事先建立复杂的字符概率分布模型,因此简化了识别编码方式的识别流程;对于海量网络数据中的待识别中文字符序列,采用长度特征缩小了检测范围,避免了直接对待识别中文字符序列逐一检测异常编码点导致的对内存的占用,在缩小检测范围后,进一步结合异常编码点特征,提高了编码方式的识别效率和准确率。

【技术实现步骤摘要】
中文字符的编码方式的识别方法和装置
本专利技术实施例涉及计算机数据通信
,尤其涉及一种中文字符的编码方式的识别方法和装置。
技术介绍
随着计算机通信技术的不断发展,人们创造了多种编码方式用于在网络中传输数据,对于中文字符来说,常用的编码方式有GBK,GB2312和UTF-8。在获取到网络中传输的经编码后的中文字符序列之后,需要对获取到的中文字符序列进行解码,才能正确还原出中文字符序列对应的原始数据,因此,识别中文字符序列的编码方式的技术应运而生。 现有的中文字符序列的编码方式的识别技术主要包括:编码模式法和字符分布法。 编码模式法主要是基于编码范围判断编码方式,对于海量的字符序列,只能基于编码范围逐个检测,不仅检测效率低,而且当存在大量的编码重合点时,会导致无法决策是哪种编码方式。 字符分布法是以字符分布概率为模型,在对编码方式进行识别前需要针对特定的字符集建立字符概率分布模型,实现起来较复杂,且识别时会占用大量内存,导致识别效率低;同时面对错综复杂的网络环境,网络数据流中往往是中、英文和其余特殊符号夹杂在一起,当英文字符等非中文字符占多数的情况下,往往会干扰中文字符编码方式的识别,尤其是影响基于字符概率分布模型的字符编码识别方案的识别准确性。
技术实现思路
本专利技术实施例提供一种中文字符的编码方式的识别方法和装置,以简化识别流程,降低对内存的占用,并提高对于海量网络数据中的中文字符序列的编码方式识别效率和准确率。 第一方面,本专利技术实施例提供了一种中文字符序列的编码方式的识别方法,包括: 从待识别中文字符序列中获取字符序列特征,所述字符序列特征包括:字符序列的长度特征,或者字符序列的长度特征以及字符序列的异常编码点特征; 根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式。 第二方面,本专利技术实施例还提供了一种中文字符序列的编码方式的识别装置,包括: 字符序列特征获取模块,用于从待识别中文字符序列中获取字符序列特征,所述字符序列特征包括:字符序列的长度特征,或者字符序列的长度特征以及字符序列的异常编码点特征; 编码方式确定模块,用于根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式。 本专利技术实施例提供的中文字符序列的编码方式的识别方法和装置,通过从待识别中文字符序列中获取字符序列的长度特征,或者获取字符序列的长度特征以及字符序列的异常编码点特征,并基于获取到的字符序列特征,能够确定待识别中文字符序列的编码方式,由于无需事先建立复杂的字符概率分布模型,因此简化了识别编码方式的识别流程;对于海量网络数据中的待识别中文字符序列,采用长度特征缩小了检测范围,避免了直接对待识别中文字符序列逐一检测异常编码点导致的对内存的占用,在缩小检测范围后,进一步结合异常编码点特征,提高了编码方式的识别效率和准确率。 【附图说明】 为了更清楚地说明本专利技术,下面将对本专利技术中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1为本专利技术实施例一提供的一种中文字符的编码方式的识别方法的流程图; 图2为本专利技术实施例二提供的一种中文字符的编码方式的识别方法的流程图; 图3为本专利技术实施例三提供的一种中文字符的编码方式的识别方法的流程图; 图4为本专利技术实施例四提供的一种中文字符的编码方式的识别方法的流程图; 图5为本专利技术实施例五提供的一种中文字符序列的编码方式的识别装置的结构示意图。 【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定,基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。 实施例一 请参阅图1,为本专利技术实施例一提供的一种中文字符的编码方式的识别方法的流程图。本专利技术实施例的方法适用于中文字符的编码方式的识别系统,该系统包括:分流设备和数据还原设备,其中,分流设备用于获取网络中的待识别中文字符序列;数据还原设备用于从分流设备获取待识别中文字符序列,并识别所述待识别中文序列的编码方式。本专利技术实施例的方法可以由配置以硬件和/或软件实现的中文字符的编码方式的识别装置来执行,该实现装置典型的是配置于数据还原设备中。 该方法包括: 步骤110、从待识别中文字符序列中获取字符序列特征,所述字符序列特征包括:字符序列的长度特征,或者字符序列的长度特征以及字符序列的异常编码点特征; 本步骤具体是从待识别中文字符序列中获取相应的字符序列特征,所述字符序列特征可以只是待识别中文字符序列的长度特征,也可以是所述长度特征与所述待识别中文字符序列的异常编码点特征。 其中,字符序列的长度特征是指所述待识别中文字符序列的长度。 所述字符序列的异常编码点与中文字符对应的编码方式的编码范围有关,某种编码方式的异常编码点位于该编码方式的编码范围之外,不同的编码方式的编码范围不同。对于中文字符来说,常用的编码方式有GBK编码,GB2312编码和UTF-8编码。 以十六进制的编码范围为例,对GBK编码,GB2312编码和UTF-8编码各自的异常编码点进行说明。 其中,GB2312编码采用双字节编码,也即一个中文字符占两个字节,高位字节的编码范围为OxBO?0xF7,低位字节的编码范围为OxAl?OxFE。不在该高位字节的编码范围和/或该低位字节的编码范围内的编码为GB2312异常编码点。 GBK编码采用双字节编码,兼容GB2312编码,其中GBK编码的高位字节的编码范围为0x81?OxFE,低位字节的编码范围为0x40?OxFE,不在该高位字节的编码范围和/或该低位字节的编码范围内的编码为GBK异常编码点。 UTF-8编码采用三字节编码,也即采用3个字节编码一个中文字符,高位字节的编码范围为OxEO?OxEF,中位字节的编码范围为0x80?OxBF,低位字节的编码范围为0x80?OxBF,不在该高位字节的编码范围、中位字节的编码范围和/或该低位字节的编码范围内的编码为UTF-8异常编码点。 步骤120、根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式。 本步骤中,既可以根据字符序列的长度特征确定所述待识别中文字符序列的编码方式,也可以根据字符序列的长度特征以及字符序列的异常编码点特征,确定所述待识别中文字符序列的编码方式。 需要说明的是,根据字符序列的长度特征,主要是指待识别中文字符序列的长度能否被2整除,以此初步识别所述待识别中文字符序列的编码方式是否为UTF-8编码;如果长度能被2整除,需要进一步识别编码方式,则需要根据字符序列的长度特征以及字符序列的异常编码点特征,确定所述待识别本文档来自技高网...

【技术保护点】
一种中文字符序列的编码方式的识别方法,其特征在于,包括:从待识别中文字符序列中获取字符序列特征,所述字符序列特征包括:字符序列的长度特征,或者字符序列的长度特征以及字符序列的异常编码点特征;根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式。

【技术特征摘要】
1.一种中文字符序列的编码方式的识别方法,其特征在于,包括: 从待识别中文字符序列中获取字符序列特征,所述字符序列特征包括:字符序列的长度特征,或者字符序列的长度特征以及字符序列的异常编码点特征; 根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式。2.根据权利要求1所述的方法,其特征在于,根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式,包括下述至少一项: 如果所述待识别中文字符序列的长度不能被2整除,则确定所述待识别中文字符序列的编码方式为UTF-8编码; 如果所述待识别中文字符序列的长度能被2整除,且所述待识别中文字符序列的每两个字节存在GBK异常编码点,则确定所述待识别中文字符序列的编码方式为UTF-8编码; 如果所述待识别中文字符序列的长度能被2整除,且所述待识别中文字符序列的每两个字节存在GB2312异常编码点,且所述待识别中文字符序列的每两个字节不存在GBK异常编码点,则确定所述待识别中文字符序列的编码方式为GBK编码; 如果所述待识别中文字符序列的长度能被2整除,且所述待识别中文字符序列的每两个字节不存在GB2312异常编码点,则确定所述待识别中文字符序列的编码方式为GB2312编码或GBK编码; 如果所述待识别中文字符序列的长度能被2整除,且不能被3整除,且所述待识别中文字符序列的每两个字节存在GB2312异常编码点,且所述待识别中文字符序列的每两个字节不存在GBK异常编码点,则确定所述待识别中文字符序列的编码方式为GBK编码; 如果所述待识别中文字符序列的长度能被2整除,且不能被3整除,且所述待识别中文字符序列的每两个字节不存在GB2312异常编码点,则确定所述待识别中文字符序列的编码方式为GB2312编码或GBK编码; 如果所述待识别中文字符序列的长度能被6整除,且所述待识别中文字符序列的每三个字节不存在UTF-8异常编码点,则确定所述待识别中文字符序列的编码方式为UTF-8编码; 如果所述待识别中文字符序列的长度能被6整除,且所述待识别中文字符序列的每三个字节存在UTF-8异常编码点,则确定所述待识别中文字符序列的编码方式为GB2312编码或GBK编码。3.根据权利要求1所述的方法,其特征在于,在从待识别中文字符序列中获取字符序列特征之前,还包括: 从待识别字符序列中获取待识别中文字符序列。4.根据权利要求3所述的方法,其特征在于,从待识别字符序列中获取待识别中文字符序列,包括: 将所述待识别字符序列的每个字节分别进行十六进制转化; 对于各字节,如果该字节对应的十六进制值大于0X7F,则保留该字节,否则,将该字节从所述待识别字符序列中删除,将剩余的字符序列作为所述待识别中文序列。5.根据权利要求1-4任一所述的方法,其特征在于,在根据所述字符序列特征,基于设定的中文编码识别策略,确定所述待识别中文字符序列的编码方式之后,还包括: 根据确定的所述编码方式对应的解码方式对所述待识别中文字符序列进行解码。6.一种中文字符序列的编码方式的识别装置,其特征在于,包括: 字符序列特征获取模块,用于从待识别中文字符序列中获取字符序列...

【专利技术属性】
技术研发人员:许敬缓
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京;11

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

1