新四季網

中文字符的編碼方式的識別方法和裝置製造方法

2023-09-18 15:49:25 4

中文字符的編碼方式的識別方法和裝置製造方法
【專利摘要】本發明實施例提供一種中文字符序列的編碼方式的識別方法和裝置。該方法包括:從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵;根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。由於無需事先建立複雜的字符概率分布模型,因此簡化了識別編碼方式的識別流程;對於海量網絡數據中的待識別中文字符序列,採用長度特徵縮小了檢測範圍,避免了直接對待識別中文字符序列逐一檢測異常編碼點導致的對內存的佔用,在縮小檢測範圍後,進一步結合異常編碼點特徵,提高了編碼方式的識別效率和準確率。
【專利說明】中文字符的編碼方式的識別方法和裝置

【技術領域】
[0001]本發明實施例涉及計算機數據通信【技術領域】,尤其涉及一種中文字符的編碼方式的識別方法和裝置。

【背景技術】
[0002]隨著計算機通信技術的不斷發展,人們創造了多種編碼方式用於在網絡中傳輸數據,對於中文字符來說,常用的編碼方式有GBK,GB2312和UTF-8。在獲取到網絡中傳輸的經編碼後的中文字符序列之後,需要對獲取到的中文字符序列進行解碼,才能正確還原出中文字符序列對應的原始數據,因此,識別中文字符序列的編碼方式的技術應運而生。
[0003]現有的中文字符序列的編碼方式的識別技術主要包括:編碼模式法和字符分布法。
[0004]編碼模式法主要是基於編碼範圍判斷編碼方式,對於海量的字符序列,只能基於編碼範圍逐個檢測,不僅檢測效率低,而且當存在大量的編碼重合點時,會導致無法決策是哪種編碼方式。
[0005]字符分布法是以字符分布概率為模型,在對編碼方式進行識別前需要針對特定的字符集建立字符概率分布模型,實現起來較複雜,且識別時會佔用大量內存,導致識別效率低;同時面對錯綜複雜的網絡環境,網絡數據流中往往是中、英文和其餘特殊符號夾雜在一起,當英文字符等非中文字符佔多數的情況下,往往會干擾中文字符編碼方式的識別,尤其是影響基於字符概率分布模型的字符編碼識別方案的識別準確性。


【發明內容】

[0006]本發明實施例提供一種中文字符的編碼方式的識別方法和裝置,以簡化識別流程,降低對內存的佔用,並提高對於海量網絡數據中的中文字符序列的編碼方式識別效率和準確率。
[0007]第一方面,本發明實施例提供了一種中文字符序列的編碼方式的識別方法,包括:
[0008]從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵;
[0009]根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。
[0010]第二方面,本發明實施例還提供了一種中文字符序列的編碼方式的識別裝置,包括:
[0011]字符序列特徵獲取模塊,用於從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵;
[0012]編碼方式確定模塊,用於根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。
[0013]本發明實施例提供的中文字符序列的編碼方式的識別方法和裝置,通過從待識別中文字符序列中獲取字符序列的長度特徵,或者獲取字符序列的長度特徵以及字符序列的異常編碼點特徵,並基於獲取到的字符序列特徵,能夠確定待識別中文字符序列的編碼方式,由於無需事先建立複雜的字符概率分布模型,因此簡化了識別編碼方式的識別流程;對於海量網絡數據中的待識別中文字符序列,採用長度特徵縮小了檢測範圍,避免了直接對待識別中文字符序列逐一檢測異常編碼點導致的對內存的佔用,在縮小檢測範圍後,進一步結合異常編碼點特徵,提高了編碼方式的識別效率和準確率。

【專利附圖】

【附圖說明】
[0014]為了更清楚地說明本發明,下面將對本發明中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0015]圖1為本發明實施例一提供的一種中文字符的編碼方式的識別方法的流程圖;
[0016]圖2為本發明實施例二提供的一種中文字符的編碼方式的識別方法的流程圖;
[0017]圖3為本發明實施例三提供的一種中文字符的編碼方式的識別方法的流程圖;
[0018]圖4為本發明實施例四提供的一種中文字符的編碼方式的識別方法的流程圖;
[0019]圖5為本發明實施例五提供的一種中文字符序列的編碼方式的識別裝置的結構示意圖。

【具體實施方式】
[0020]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施例中的技術方案作進一步詳細描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。可以理解的是,此處所描述的具體實施例僅用於解釋本發明,而非對本發明的限定,基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。另外還需要說明的是,為了便於描述,附圖中僅示出了與本發明相關的部分而非全部內容。
[0021]實施例一
[0022]請參閱圖1,為本發明實施例一提供的一種中文字符的編碼方式的識別方法的流程圖。本發明實施例的方法適用於中文字符的編碼方式的識別系統,該系統包括:分流設備和數據還原設備,其中,分流設備用於獲取網絡中的待識別中文字符序列;數據還原設備用於從分流設備獲取待識別中文字符序列,並識別所述待識別中文序列的編碼方式。本發明實施例的方法可以由配置以硬體和/或軟體實現的中文字符的編碼方式的識別裝置來執行,該實現裝置典型的是配置於數據還原設備中。
[0023]該方法包括:
[0024]步驟110、從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵;
[0025]本步驟具體是從待識別中文字符序列中獲取相應的字符序列特徵,所述字符序列特徵可以只是待識別中文字符序列的長度特徵,也可以是所述長度特徵與所述待識別中文字符序列的異常編碼點特徵。
[0026]其中,字符序列的長度特徵是指所述待識別中文字符序列的長度。
[0027]所述字符序列的異常編碼點與中文字符對應的編碼方式的編碼範圍有關,某種編碼方式的異常編碼點位於該編碼方式的編碼範圍之外,不同的編碼方式的編碼範圍不同。對於中文字符來說,常用的編碼方式有GBK編碼,GB2312編碼和UTF-8編碼。
[0028]以十六進位的編碼範圍為例,對GBK編碼,GB2312編碼和UTF-8編碼各自的異常編碼點進行說明。
[0029]其中,GB2312編碼採用雙字節編碼,也即一個中文字符佔兩個字節,高位字節的編碼範圍為OxBO?0xF7,低位字節的編碼範圍為OxAl?OxFE。不在該高位字節的編碼範圍和/或該低位字節的編碼範圍內的編碼為GB2312異常編碼點。
[0030]GBK編碼採用雙字節編碼,兼容GB2312編碼,其中GBK編碼的高位字節的編碼範圍為0x81?OxFE,低位字節的編碼範圍為0x40?OxFE,不在該高位字節的編碼範圍和/或該低位字節的編碼範圍內的編碼為GBK異常編碼點。
[0031]UTF-8編碼採用三字節編碼,也即採用3個字節編碼一個中文字符,高位字節的編碼範圍為OxEO?OxEF,中位字節的編碼範圍為0x80?OxBF,低位字節的編碼範圍為0x80?OxBF,不在該高位字節的編碼範圍、中位字節的編碼範圍和/或該低位字節的編碼範圍內的編碼為UTF-8異常編碼點。
[0032]步驟120、根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。
[0033]本步驟中,既可以根據字符序列的長度特徵確定所述待識別中文字符序列的編碼方式,也可以根據字符序列的長度特徵以及字符序列的異常編碼點特徵,確定所述待識別中文字符序列的編碼方式。
[0034]需要說明的是,根據字符序列的長度特徵,主要是指待識別中文字符序列的長度能否被2整除,以此初步識別所述待識別中文字符序列的編碼方式是否為UTF-8編碼;如果長度能被2整除,需要進一步識別編碼方式,則需要根據字符序列的長度特徵以及字符序列的異常編碼點特徵,確定所述待識別中文字符序列的編碼方式。
[0035]本實施例的技術方案,通過從待識別中文字符序列中獲取字符序列的長度特徵,或者獲取字符序列的長度特徵以及字符序列的異常編碼點特徵,並基於獲取到的字符序列特徵,能夠確定待識別中文字符序列的編碼方式,由於無需事先建立複雜的字符概率分布模型,因此簡化了識別編碼方式的識別流程;對於海量網絡數據中的待識別中文字符序列,採用長度特徵縮小了檢測範圍,避免了直接對待識別中文字符序列逐一檢測異常編碼點導致的對內存的佔用,在縮小檢測範圍後,進一步結合異常編碼點特徵,提高了編碼方式的識別效率和準確率。
[0036]在本實施例的基礎上,在步驟120之後,還可以包括:
[0037]步驟130、根據確定的所述編碼方式對應的解碼方式對所述待識別中文字符序列進行解碼。
[0038]在確定所述待識別中文字符序列的編碼方式,採用確定的編碼方式對所述待識別中文字符序列進行解碼,能夠還原所述待識別中文字符序列。
[0039]待識別中文字符序列可以來自於用戶的微博內容或在論壇等的發帖內容,數據還原設備確定待識別中文字符序列的編碼方式之後,進一步解碼,可以還原用戶發布的原始信息,有利於提取指定數據段的短文本內容,以分析用戶行為。
[0040]實施例二
[0041]請參閱圖2,為本發明實施例二提供的一種中文字符的編碼方式的識別方法的流程圖。本實施例在上述實施例的基礎上,提供了根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式的優選方案。
[0042]該優選方法包括:
[0043]步驟210、如果所述待識別中文字符序列的長度不能被2整除,則確定所述待識別中文字符序列的編碼方式為UTF-8編碼;
[0044]本步驟中,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度不能被2整除,則對應的編碼方式一定不是GB2312編碼和GBK編碼,因此可以確定所述待識別中文字符序列的編碼方式為UTF-8編碼。
[0045]需要說明的是,如果所述待識別中文字符序列的長度能被2整除,則需要進一步根據字符序列的長度特徵以及字符序列的異常編碼點特徵,確定所述待識別中文字符序列的編碼方式。
[0046]步驟220、如果所述待識別中文字符序列的長度能被2整除,且所述待識別中文字符序列的每兩個字節存在GBK異常編碼點,則確定所述待識別中文字符序列的編碼方式為UTF-8編碼;
[0047]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0048]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每兩個字節為識別單位,對於各識別單位,進一步判斷是否存在GBK異常編碼點,如果檢測到有一個識別單位中存在GBK異常編碼點,則對應的編碼方式不是GBK編碼,又由於GBK編碼的編碼範圍兼容GB2312編碼的編碼範圍,因此可以確定所述待識別中文字符序列的編碼方式為UTF-8編碼。
[0049]步驟230、如果所述待識別中文字符序列的長度能被2整除,且所述待識別中文字符序列的每兩個字節存在GB2312異常編碼點,且所述待識別中文字符序列的每兩個字節不存在GBK異常編碼點,則確定所述待識別中文字符序列的編碼方式為GBK編碼;
[0050]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0051]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每兩個字節為識別單位,如果所述待識別中文字符序列的每兩個字節存在GB2312異常編碼點,且所述待識別中文字符序列的每兩個字節不存在GBK異常編碼點,則可以確定待識別中文字符序列的編碼範圍雖然位於GB2312編碼的編碼範圍之外,但位於GBK編碼的編碼範圍內,因此可以確定所述待識別中文字符序列的編碼方式為GBK編碼。
[0052]步驟240、如果所述待識別中文字符序列的長度能被2整除,且所述待識別中文字符序列的每兩個字節不存在GB2312異常編碼點,則確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼;
[0053]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0054]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每兩個字節為識別單位,如果所述待識別中文字符序列的每兩個字節不存在GB2312異常編碼點,則可以確定待識別中文字符序列的編碼範圍位於GB2312編碼的編碼範圍內,又由於GBK編碼的編碼範圍兼容GB2312編碼的編碼範圍,因此可以確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼。
[0055]步驟250、如果所述待識別中文字符序列的長度能被2整除,且不能被3整除,且所述待識別中文字符序列的每兩個字節存在GB2312異常編碼點,且所述待識別中文字符序列的每兩個字節不存在GBK異常編碼點,則確定所述待識別中文字符序列的編碼方式為GBK編碼;
[0056]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0057]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,且不能被3整除,則對應的編碼方式可能是GB2312編碼或GBK編碼,通過以待識別中文字符序列的每兩個字節為識別單位,如果所述待識別中文字符序列的每兩個字節存在GB2312異常編碼點,且所述待識別中文字符序列的每兩個字節不存在GBK異常編碼點,則可以確定待識別中文字符序列的編碼範圍雖然位於GB2312編碼的編碼範圍之外,但位於GBK編碼的編碼範圍內,因此可以確定所述待識別中文字符序列的編碼方式為GBK編碼。
[0058]步驟260、如果所述待識別中文字符序列的長度能被2整除,且不能被3整除,且所述待識別中文字符序列的每兩個字節不存在GB2312異常編碼點,則確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼;
[0059]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0060]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,且不能被3整除,則對應的編碼方式可能是GB2312編碼或GBK編碼,通過以待識別中文字符序列的每兩個字節為識別單位,如果所述待識別中文字符序列的每兩個字節不存在GB2312異常編碼點,則可以確定待識別中文字符序列的編碼範圍位於GB2312編碼的編碼範圍內,又由於GBK編碼的編碼範圍兼容GB2312編碼的編碼範圍,因此可以確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼。
[0061]步驟270、如果所述待識別中文字符序列的長度能被6整除,且所述待識別中文字符序列的每三個字節不存在UTF-8異常編碼點,則確定所述待識別中文字符序列的編碼方式為UTF-8編碼;
[0062]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0063]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被6整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每三個字節為識別單位,對於各識別單位,進一步判斷是否存在UTF-8異常編碼點,若否,則可以確定待識別中文字符序列的編碼範圍位於UTF-8編碼的編碼範圍之內,因此確定所述待識別中文字符序列的編碼方式為UTF-8編碼。
[0064]步驟280、如果所述待識別中文字符序列的長度能被6整除,且所述待識別中文字符序列的每三個字節存在UTF-8異常編碼點,則確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼。
[0065]本步驟具體是根據所述字符序列的長度特徵和所述字符序列的異常編碼點特徵對所述待識別中文字符序列的編碼方式進行識別。
[0066]具體地,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被6整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每三個字節為識別單位,對於各識別單位,進一步判斷是否存在UTF-8異常編碼點,若是,則可以確定待識別中文字符序列的編碼範圍位於UTF-8編碼的編碼範圍之外,因此確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼。
[0067]本實施例的技術方案,在從待識別中文字符序列中獲取字符序列的長度特徵,或者獲取字符序列的長度特徵以及字符序列的異常編碼點特徵之後,通過獲取到的長度特徵,縮小了檢測範圍,避免了直接對待識別中文字符序列逐一檢測異常編碼點導致的對內存的佔用,在縮小檢測範圍後,進一步結合異常編碼點特徵,提高了編碼方式的識別效率和準確率。
[0068]在上述實施例中,步驟210-步驟280是相互獨立的,都是根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式的優選實施方式。即可以執行步驟210-步驟280中的至少一項,且執行順序不限。
[0069]實施例三
[0070]請參閱圖3,為本發明實施例三提供的一種中文字符的編碼方式的識別方法的流程圖。本實施例在上述實施例的基礎上,提供了根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式的具體實現方案。
[0071]步驟310、判斷待識別中文字符序列的長度是否能被2整除,若否,則執行步驟320 ;若是,則執行步驟330 ;
[0072]步驟320、確定所述待識別中文字符序列的編碼方式為UTF-8編碼,流程結束。
[0073]本步驟中,由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度不能被2整除,則對應的編碼方式一定不是GB2312編碼和GBK編碼,因此可以確定所述待識別中文字符序列的編碼方式為UTF-8編碼。
[0074]步驟330、判斷所述待識別中文字符序列的每兩個字節是否存在GBK異常編碼點,若是,則執行步驟320 ;若否,則執行步驟340 ;
[0075]由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每兩個字節為識別單位,對於各識別單位,進一步判斷是否存在GBK異常編碼點,如果檢測到有一個識別單位中存在GBK異常編碼點,則對應的編碼方式不是GBK編碼,又由於GBK編碼的編碼範圍兼容GB2312編碼的編碼範圍,因此可以確定所述待識別中文字符序列的編碼方式為UTF-8編碼。
[0076]步驟340、判斷待識別中文字符序列的長度是否能被3整除,若否,則執行步驟350 ;若是,則執行步驟360 ;
[0077]由於GB2312編碼和GBK編碼均採用雙字節編碼,UTF-8編碼採用三字節編碼,因此如果所述待識別中文字符序列的長度能被2整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每兩個字節為識別單位,對於各識別單位,如果不存在GBK異常編碼點,則需要進一步檢測待識別中文字符序列的長度是否能被3整除,以確定所述待識別中文字符序列的編碼方式。
[0078]步驟350、確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼,流程結束。
[0079]在步驟340的基礎上,如果不能被3整除,由於UTF-8編碼採用三字節編碼,則可以確定所述待識別中文字符序列的編碼方式不是UTF-8編碼,從而得到所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼。
[0080]步驟360、判斷所述待識別中文字符序列的每三個字節是否存在UTF-8異常編碼點,若是,則執行步驟350 ;若否,則執行步驟320 ;
[0081]在步驟340的基礎上,如果能被3整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每三個字節為識別單位,對於各識別單位,進一步判斷結果為存在UTF-8異常編碼點,則可以確定待識別中文字符序列的編碼範圍位於UTF-8編碼的編碼範圍之外,因此確定所述待識別中文字符序列的編碼方式為GB2312編碼或GBK編碼。
[0082]在步驟340的基礎上,如果能被3整除,則對應的編碼方式可能是GB2312編碼、GBK編碼和UTF-8編碼中的任何一種,通過以待識別中文字符序列的每三個字節為識別單位,對於各識別單位,進一步判斷結果為不存在UTF-8異常編碼點,則可以確定待識別中文字符序列的編碼範圍位於UTF-8編碼的編碼範圍內,因此確定所述待識別中文字符序列的編碼方式為UTF-8編碼。
[0083]實施例四
[0084]請參閱圖4,為本發明實施例四提供的一種中文字符的編碼方式的識別方法的流程圖。
[0085]該方法包括:
[0086]步驟410、從待識別字符序列中獲取待識別中文字符序列;
[0087]從網絡中直接獲取的待識別字符序列通常是中、英文和其餘特殊符號混合的組合,因此通過本步驟可以從直接獲取到的待識別字符序列中剔除非中文字符,得到待識別中文字符序列。
[0088]作為本步驟的一種優選的實施方式,具體可以包括:
[0089]將所述待識別字符序列的每個字節分別進行十六進位轉化;
[0090]對於各字節,如果該字節對應的十六進位值大於0X7F,則保留該字節,否則,將該字節從所述待識別字符序列中刪除,將剩餘的字符序列作為所述待識別中文序列。
[0091]需要說明的是,對於待識別字符序列,由於非中文字符通常採用ASCII編碼,而ASCII編碼採用單字節編碼,編碼範圍為0x00?0x7F,因此通過檢測進行十六進位轉化後的待識別字符序列的各字節,如果該字節對應的十六進位值大於0X7F,則該字節為中文字符,從而保留該字節,如果該字節對應的十六進位值小於等於0X7F,則為採用ASCII編碼的非中文字符,例如,字母或者數字,從而刪除該字節,進而由剩餘的字符序列形成所述待識別中文序列。
[0092]本實施方式,基於ASCII編碼的編碼範圍,以字節為單位進行中文字符的識別,識別方式簡單,提高了從錯綜複雜的網絡環境中獲取到的海量待識別字符序列中獲取待識別中文字符序列的識別率。
[0093]步驟420、從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵;
[0094]步驟430、根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。
[0095]本步驟同樣適用於實施例二中的步驟210-步驟280,此處不再贅述。
[0096]本實施例的技術方案,基於ASCII編碼的編碼範圍,以字節為單位進行中文字符的識別,識別方式簡單,提高了從錯綜複雜的網絡環境中獲取到的海量待識別字符序列中獲取待識別中文字符序列的識別率;克服了傳統的編碼模式識別技術只適用於字符序列存在大量中文字符序列時的識別的局限,不但適用於存在大量中文字符的待識別字符序列,還適用於存在大量ASCII字符等噪聲字符的待識別字符序列,根據中文字符編碼特徵和非中文字符數據傳輸特點,提高了識別中文字符的識別率;在得到待識別中文字符序列之後,通過從待識別中文字符序列中獲取字符序列的長度特徵,或者獲取字符序列的長度特徵以及字符序列的異常編碼點特徵,並基於獲取到的字符序列特徵,能夠確定待識別中文字符序列的編碼方式,由於無需事先建立複雜的字符概率分布模型,因此簡化了識別編碼方式的識別流程;對於海量網絡數據中的待識別中文字符序列,採用長度特徵縮小了檢測範圍,避免了直接對待識別中文字符序列逐一檢測異常編碼點導致的對內存的佔用,在縮小檢測範圍後,進一步結合異常編碼點特徵,提高了編碼方式的識別效率和準確率。
[0097]實施例五
[0098]請參閱圖5,為本發明實施例五提供的一種中文字符序列的編碼方式的識別裝置的結構示意圖,該裝置包括:字符序列特徵獲取模塊510和編碼方式確定模塊520。
[0099]其中,字符序列特徵獲取模塊510用於從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵;編碼方式確定模塊520用於根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。
[0100]本實施例的技術方案,通過從待識別中文字符序列中獲取字符序列的長度特徵,或者獲取字符序列的長度特徵以及字符序列的異常編碼點特徵,並基於獲取到的字符序列特徵,能夠確定待識別中文字符序列的編碼方式,由於無需事先建立複雜的字符概率分布模型,因此簡化了識別編碼方式的識別流程;對於海量網絡數據中的待識別中文字符序列,採用長度特徵縮小了檢測範圍,避免了直接對待識別中文字符序列逐一檢測異常編碼點導致的對內存的佔用,在縮小檢測範圍後,進一步結合異常編碼點特徵,提高了編碼方式的識別效率和準確率。
[0101]在上述方案中,編碼方式確定模塊520有多種實施方式,例如包括下述至少一項:第一編碼方式確定單元、第二編碼方式確定單元、第三編碼方式確定單元、第四編碼方式確定單元、第五編碼方式確定單元、第六編碼方式確定單元、第七編碼方式確定單元和第八編碼方式確定單元。
[0102]其中,第一編碼方式確定單元用於如果所述待識別中文字符序列的長度不能被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編碼。
[0103]在上述方案中,所述裝置還可以包括:中文字符序列獲取模塊501,用於在從待識別中文字符序列中獲取字符序列特徵之前,從待識別字符序列中獲取待識別中文字符序列。
[0104]中文字符序列獲取模塊501優選包括:字節轉化單元和字節處理單元。
[0105]其中,字節轉化單元用於將所述待識別字符序列的每個字節分別進行十六進位轉化;字節處理單元用於對於各字節,如果該字節對應的十六進位值大於0X7F,則保留該字節,否則,將該字節從所述待識別字符序列中刪除,將剩餘的字符序列作為所述待識別中文序列。
[0106]在上述方案中,所述裝置還可以包括:解碼模塊530,用於在根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式之後,根據確定的所述編碼方式對應的解碼方式對所述待識別中文字符序列進行解碼。
[0107]本發明實施例提供的中文字符的編碼方式的識別裝置可執行本發明任意實施例所提供的中文字符的編碼方式的識別方法,具備執行方法相應的功能模塊和有益效果。
[0108]最後應說明的是:以上各實施例僅用於說明本發明的技術方案,而非對其進行限制;實施例中優選的實施方式,並非對其進行限制,對於本領域技術人員而言,本發明可以有各種改動和變化。凡在本發明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
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.一種中文字符序列的編碼方式的識別裝置,其特徵在於,包括: 字符序列特徵獲取模塊,用於從待識別中文字符序列中獲取字符序列特徵,所述字符序列特徵包括:字符序列的長度特徵,或者字符序列的長度特徵以及字符序列的異常編碼點特徵; 編碼方式確定模塊,用於根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式。
7.根據權利要求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編碼。
8.根據權利要求6所述的裝置,其特徵在於,所述裝置還包括:中文字符序列獲取模塊,用於在從待識別中文字符序列中獲取字符序列特徵之前,從待識別字符序列中獲取待識別中文字符序列。
9.根據權利要求8所述的裝置,其特徵在於,中文字符序列獲取模塊包括: 字節轉化單元,用於將所述待識別字符序列的每個字節分別進行十六進位轉化; 字節處理單元,用於對於各字節,如果該字節對應的十六進位值大於0X7F,則保留該字節,否則,將該字節從所述待識別字符序列中刪除,將剩餘的字符序列作為所述待識別中文序列。
10.根據權利要求6-9任一所述的裝置,其特徵在於,所述裝置還包括:解碼模塊,用於在根據所述字符序列特徵,基於設定的中文編碼識別策略,確定所述待識別中文字符序列的編碼方式之後,根據確定的所述編碼方式對應的解碼方式對所述待識別中文字符序列進行解碼。
【文檔編號】G06F17/22GK104360988SQ201410553461
【公開日】2015年2月18日 申請日期:2014年10月17日 優先權日:2014年10月17日
【發明者】許敬緩 申請人:北京銳安科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀