CN104424165B - 一种文本文档乱码检测方法及*** - Google Patents

一种文本文档乱码检测方法及*** Download PDF

Info

Publication number
CN104424165B
CN104424165B CN201310404498.3A CN201310404498A CN104424165B CN 104424165 B CN104424165 B CN 104424165B CN 201310404498 A CN201310404498 A CN 201310404498A CN 104424165 B CN104424165 B CN 104424165B
Authority
CN
China
Prior art keywords
coding
character
mess code
text document
code
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.)
Expired - Fee Related
Application number
CN201310404498.3A
Other languages
English (en)
Other versions
CN104424165A (zh
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.)
New Founder Holdings Development Co ltd
Pku Founder Information Industry Group Co ltd
Peking University Founder Group Co Ltd
Founder Apabi Technology Ltd
Original Assignee
Founder Information Industry Holdings Co Ltd
Peking University Founder Group Co Ltd
Beijing Founder Apabi Technology 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 Founder Information Industry Holdings Co Ltd, Peking University Founder Group Co Ltd, Beijing Founder Apabi Technology Co Ltd filed Critical Founder Information Industry Holdings Co Ltd
Priority to CN201310404498.3A priority Critical patent/CN104424165B/zh
Publication of CN104424165A publication Critical patent/CN104424165A/zh
Application granted granted Critical
Publication of CN104424165B publication Critical patent/CN104424165B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种文本文档乱码检测方法及***,在编码格式正确的情况下,通过建立包含被检测文本文档字符的编码格式下所有常规字符的编码范围的第一编码范围库以及从被检测文本文档选取M个字符所对应的编码,并将字符所对应的编码分别与第一编码范围库中的编码进行比对的方式,来判断字符是否真的为乱码,进而判断文本文档是否为乱码。相较于现有技术中,只是通过判断编码格式是否正确来判断字符是否为乱码,本发明提供了一种综合考虑多种原因判断字符是否真的为乱码的文本文档乱码检测方法,因而能够判定字符是否真的为乱码,进而根据乱码产生的真正原因对乱码进行处理,提升了用户体验。

Description

一种文本文档乱码检测方法及***
技术领域
本发明涉及一种乱码检测方法及***,具体是一种文本文档乱码检测方法及***,属于文字处理相关领域。
背景技术
乱码指的是终端设备不能显示正确的字符,而显示其他无意义的字符或空白。在终端设备的图形用户交互界面,文字处理等领域,经常会出现文本文档乱码的现象,使得用户无法理解文本文档所描述的内容,从而限制了用户的下一步操作。因此,有必要对当前正在使用的文本文档的内容进行乱码检测,找出文本文档中存在的乱码并确定乱码产生的真正原因,根据乱码产生的真正原因对乱码进行有效的修正,使用户在使用文档时看到的是无乱码的文本。
针对一个文本文档来说,其中包含的每一个字符,都预先按照一定的格式进行编码处理。当用户使用该文本文档时,需要采用与编码对应的解码方式解码后才能显示出平常所看到的字符。
现有技术中,为了避免文本文档中出现的乱码,一般在显示文本文档的内容之前,终端设备会让用户选择以哪种编码格式显示文档,若用户选择的编码格式与文本文档的编码格式相匹配,则终端设备判定编码格式正确并显示相关文本文档;若用户选择的编码格式与文本文档的编码格式不匹配,则终端设备判定编码格式不正确,之后对编码格式进行调整,使其按照正确的编码格式显示。
但是,文本文档中产生乱码的原因并不只有编码格式不正确这一种情况,现有技术中只要判定字符的编码格式正确就对文本文档进行解码显示的方式依然有可能会出现显示乱码的情况,究其原因是因为未对乱码产生的原因进行深入研究,不清楚产生乱码的真正原因导致的。
发明内容
本发明所要解决的技术问题是现有技术中仅通过判断编码格式对乱码进行检测,但乱码产生的原因有多种,有时并不能确定导致乱码的真正原因,从而提供一种综合考虑乱码产生的多种原因的一种文本文档乱码检测方法及***。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明所述文本文档乱码检测方法,包括如下步骤:
建立第一编码范围库的步骤,所述第一编码范围库包含被检测文本文档字符的编码格式下所有常规字符的编码范围;
采样步骤,从被检测文本文档中选取M个字符所对应的编码,其中M为大于或等于1的整数;
第一比对步骤,将所述采样步骤中选取的M个字符所对应的编码,分别与所述第一编码范围库中的编码进行比对,将在所述第一编码范围库内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库内获得相同结果的编码所对应的字符判定为乱码。
本发明所述的文本文档乱码检测方法,还包括如下步骤:
建立第二编码范围库的步骤,所述第二编码范围库中包含已有的所有编码格式下所有字符的编码范围;
第二比对步骤,将被所述第一比对步骤判定为乱码的字符所对应的编码,分别与所述第二编码范围库中的编码进行比对,若被所述第一比对步骤判定为乱码的字符所对应的编码在所述第二编码范围库内获得相同结果的编码,则恢复所述编码对应的字符为非乱码;若无法在所述第二编码范围库内获得相同结果的编码,则判定所述编码对应的字符为乱码。
本发明所述的文本文档乱码检测方法,还包括如下步骤:
获取所述被检测文本文档所在终端设备中的用于绘制字体的字体文件的步骤;
绘制字体的步骤,将所述第一比对步骤中判定为非乱码的字符所对应的编码,用所述字体文件进行绘制;
绘制判定步骤,将可以绘制成功的编码所对应的字符判定为非乱码;将无法绘制成功的编码所对应的字符判定为乱码。
所述绘制字体的步骤中,还包括如下操作,将所述第二比对步骤中恢复为非乱码的字符所对应的编码,用所述字体文件进行绘制。
所述采样步骤中设定M=5。
所述采样步骤中选择的M个字符所对应的编码为连续的。
本发明所述文本文档乱码检测***包括:
采样模块,用于从被检测文本文档中选取M个字符所对应的编码,其中M为大于或等于1的整数;
第一编码范围库,用于存储被检测文本文档字符的编码格式下所有常规字符的编码范围;
第一比对模块,用于将所述采样模块选取的M个字符所对应的编码,分别与所述第一编码范围库中的编码进行比对,将在所述第一编码范围库内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库内获得相同结果的编码所对应的字符判定为乱码。
本发明所述的文本文档乱码检测***,还包括:
第二编码范围库,用于存储已有的所有编码格式下所有字符的编码范围;
第二比对模块,用于将所述第一比对模块判定为乱码的字符所对应的编码,分别与所述第二编码范围库中的编码进行比对,若被所述第一比对模块判定为乱码的字符所对应的编码在所述第二编码范围库内获得相同结果的编码,则恢复所述编码对应的字符为非乱码;若无法在所述第二编码范围库内获得相同结果的编码,则判定所述编码对应的字符为乱码。
本发明所述的文本文档乱码检测***,还包括:
字体文件获取模块,用于获取所述被检测文本文档所在终端设备中的用于绘制字体的字体文件;
字体绘制模块,其包括第一字体绘制模块,用于将所述第一比对模块判定为非乱码的字符所对应的编码,用所述字体文件获取模块获取的所述字体文件进行绘制;
绘制判断模块,用于根据绘制结果进行乱码判定,将可以绘制成功的编码所对应的字符判定为非乱码;将无法绘制成功的编码所对应的字符判定为乱码。
所述字体绘制模块还包括第二字体绘制模块,用于将所述第二比对模块判定为非乱码的字符所对应的编码,用所述字体文件获取模块获取的所述字体文件进行绘制。
所述采样模块中的所述M取值为5。
所述采样模块所选择的M个字符所对应的编码为连续的。
本发明的上述技术方案相比现有技术具有以下优点:
(1)本发明所述的文本文档乱码检测方法及***,在编码格式正确的情况下,通过建立包含被检测文本文档字符的编码格式下所有常规字符的编码范围的第一编码范围库以及从被检测文本文档选取M个字符所对应的编码,并将所述字符所对应的编码分别与所述第一编码范围库中的编码进行比对的方式,来判断所述字符是否真的为乱码,进而判断所述文本文档是否为乱码。具体方式如下,将在所述第一编码范围库内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库内获得相同结果的编码所对应的字符判定为乱码。
相较于现有技术中,只是通过判断编码格式是否正确来判断字符是否为乱码,本发明提供了一种在编码格式正确但仍旧出现乱码的情况下,判断字符是否真的为乱码,进而判断所述文本文档是否真的为乱码的一种文本文档乱码检测方法及***。
本发明在已经获取文本文档编码格式的情况下,来建立包含被检测文本文档字符的编码格式下所有常规字符的编码范围的第一编码范围库,同选取的字符的编码进行比对,缩小了比对的范围,进而提高了乱码检测的速度。
本发明选取编码连续的5个字符来进行编码范围的比对,可以较为准确的进一步判定所述文本文档是否为乱码。
(2)本发明所述的文本文档乱码检测方法及***,通过建立包含已有的所有编码格式下所有字符的编码范围的第二编码范围库,并将所述第一比对步骤中判定为乱码的字符分别与所述第二编码范围库中的编码进行比对,并根据所述判定为乱码的字符所对应的编码在所述第二编码范围库内是否获得相同结果的编码,来做出所述字符是否真的为乱码的判定。避免了第一编码范围库中由于其编码范围是常规字符的编码范围,有可能未将一些生僻字符所对应的编码范围囊括其中,导致将不是乱码的生僻字符判定为乱码的误操作。
本发明通过获取被检测文本文档所在终端设备中的用于绘制字体的字体文件,并将所述第一比对步骤中判定为非乱码的字符所对应的编码以及所述第二比对步骤中判定为非乱码的字符所对应的编码,用所述字体文件进行绘制,并根据所述判定为非乱码的字符是否可以绘制成功,来做出所述字符是否真的为乱码的判定。综合考虑了虽然文本文档中字符的编码正确,但是由于终端设备中未包含用于绘制所述文本文档字符的字体所对应的字体文件,进而产生乱码的情况。
综上所述,本发明综合考虑了乱码出现的多种原因,进而能够做出所述文本文档是否为乱码的正确判断,之后或者根据乱码出现的真正原因对乱码进行修复,或者给用户提示出现了乱码,无论怎样的方式,都可以提升用户的体验。且在一段文本文档中,可以进行多次以上操作,提高确定文本文档是否为乱码的准确率。
附图说明
为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详细的说明,其中,
图1是实施例1所述的文本文档乱码检测方法的流程图;
图2是实施例2所述的文本文档乱码检测方法的流程图;
图3是是实施例3所述的文本文档乱码检测***的结构示意图;
图4是实施例4所述的文本文档乱码检测***的结构示意图;
图5是实施例4所述的文本文档乱码示意图。
图中附图标记表示为:1-采样模块,2-第一编码范围库,3-第一比对模块,4-第二编码范围库,5-第二比对模块,6-字体文件获取模块,7-字体绘制模块,71-第一字体绘制模块,72-第二字体绘制模块,8-绘制判断模块。
具体实施方式
实施例1
本实施例所述的文本文档乱码检测方法的流程图如图1所示,包括如下步骤:
建立第一编码范围库的步骤,所述第一编码范围库包含被检测文本文档字符的编码格式下所有常规字符的编码范围。
采样步骤,从被检测文本文档中选取M个字符所对应的编码,其中M为大于或等于1的整数。
第一比对步骤,将所述采样步骤中选取的M个字符所对应的编码,分别与所述第一编码范围库中的编码进行比对,将在所述第一编码范围库内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库内获得相同结果的编码所对应的字符判定为乱码。
相较于现有技术中,只是通过判断编码格式是否正确来判断字符是否为乱码,本实施例提供了一种在编码格式正确但仍旧出现乱码的情况下,判断字符是否真的为乱码,进而判断所述文本文档是否真的为乱码的一种文本文档乱码检测方法。
本实施例中所述第一编码范围库中包含被检测文本文档字符的编码格式下所有常规字符的编码范围,例如简体中文字、英文字母、常用的符号等。一般情况下,乱码是指影响到用户对文本文档理解的内容,而一般的简体中文字、英文字和常用符号等几乎可涵盖非乱码情况下的所有字符的编码了。
另外,无论采用哪种字符编码方式,针对每一个字符都会对应一个特定的编码,该编码一般为二进制数,而在第一编码范围库中包含有常规字符的编码范围,是指其内部存储的所有的编码所对应的二进制数的范围。
本实施例在已经获取文本文档编码格式的情况下,来建立包含被检测文本文档字符的编码格式下所有常规字符的编码范围的第一编码范围库,同选取的字符的编码进行比对,缩小了比对的范围,进而提高了乱码检测的速度。
本实施例中,所述采样步骤中选取的M个字符所对应的编码是随机选择的,其个数可以是3个字符、5个字符、10个字符等,而且随机选择的M个字符可以是在文本文档中的任意位置,彼此之间没有任何关联,也可以是在文本文档中的随机位置处选择的连续的M个字符均可。本实施例中,所述采样步骤中设定M=5。更为优选地,所述采样步骤中选择的M个字符所对应的编码为连续的。通过选取编码连续的5个字符来进行编码范围的比对,可以较为准确的进一步判定所述文本文档是否为乱码。
实施例2
在实施例1的基础上,本实施例所述的文本文档乱码检测方法,如图2所示,还包括如下步骤:建立第二编码范围库的步骤,所述第二编码范围库中包含已有的所有编码格式下所有字符的编码范围。第二比对步骤,将被所述第一比对步骤判定为乱码的字符所对应的编码,分别与所述第二编码范围库中的编码进行比对,若被所述第一比对步骤判定为乱码的字符所对应的编码在所述第二编码范围库内获得相同结果的编码,则恢复所述编码对应的字符为非乱码。若无法在所述第二编码范围库内获得相同结果的编码,则判定所述编码对应的字符为乱码。
本实施例所述的文本文档乱码检测方法,还包括如下步骤:获取所述被检测文本文档所在终端设备中的用于绘制字体的字体文件的步骤。绘制字体的步骤,将所述第一比对步骤中判定为非乱码的字符所对应的编码,用所述字体文件进行绘制。绘制判定步骤,将可以绘制成功的编码所对应的字符判定为非乱码;将无法绘制成功的编码所对应的字符判定为乱码。进一步地,所述绘制字体的步骤中,还包括如下操作,将所述第二比对步骤中恢复为非乱码的字符所对应的编码,用所述字体文件进行绘制。
在实施例1中,所述第一编码范围库中是包含有被检测文本文档字符的编码格式下所有常规字符的编码范围的,但是也不排除文本文档中的字符恰好不是常规字符,而是具有一定意义的特殊符号。因此,为了避免将这些具有一定意义的特殊符号误判为乱码,本实施例中,通过建立包含已有的所有编码格式下所有字符的编码范围的第二编码范围库,并将所述第一比对步骤中判定为乱码的字符分别与所述第二编码范围库中的编码进行比对,并根据所述判定为乱码的字符所对应的编码在所述第二编码范围库内是否获得相同结果的编码,来做出所述字符是否真的为乱码的判定。避免了第一编码范围库中由于其编码范围是常规字符的编码范围,有可能未将一些特殊符号所对应的编码范围囊括其中,导致将不是乱码的特殊符号判定为乱码的误操作。
本实施例中,通过获取被检测文本文档所在终端设备中的用于绘制字体的字体文件,并将所述第一比对步骤中判定为非乱码的字符所对应的编码以及所述第二比对步骤中判定为非乱码的字符所对应的编码,用所述字体文件进行绘制,并根据所述判定为非乱码的字符是否可以绘制成功,来做出所述字符是否真的为乱码的判定。综合考虑了虽然文本文档中字符的编码正确,但是由于终端设备中未包含用于绘制所述文本文档字符的字体所对应的字体文件,进而产生乱码的情况。
本实施例中所述的字体文件,可以看作一个函数,该函数的变量即为字符所对应的编码。当将字符所对应的编码输入至字体文件中时,字体文件可以根据字符所对应的编码绘制出其所对应的字体,例如、楷体、宋体、仿宋等等。因此,当字符所对应的编码所需要转换成的字体是终端设备中不存在的字体时,那么字体文件对字符所对应的编码的绘制就会失败,因此即使字符编码的格式是正确的,也会导致显示出来的字符是乱码。因此,通过本实施例中的上述判断步骤,可以避免这一情况的出现。
综上所述,本实施例综合考虑了乱码出现的多种原因,进而能够做出所述文本文档是否为乱码的正确判断,之后或者根据乱码出现的真正原因对乱码进行修复,或者给用户提示出现了乱码,无论怎样的方式,都可以提升用户的体验。
实施例3
本实施例所述的文本文档乱码检测***包括:采样模块1,用于从被检测文本文档中选取M个字符所对应的编码,其中M为大于或等于1的整数。第一编码范围库2,用于存储被检测文本文档字符的编码格式下所有常规字符的编码范围。第一比对模块3,用于将所述采样模块1选取的M个字符所对应的编码,分别与所述第一编码范围库2中的编码进行比对,将在所述第一编码范围库2内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库2内获得相同结果的编码所对应的字符判定为乱码。
本实施例通过采样模块1、第一编码范围库2和第一比对模块3的共同作用,当文本文档编码格式正确但仍旧出现乱码的情况下,第一比对模块3将选取的M个字符所对应的编码分别与所述第一编码范围库2中的编码进行比对,并根据比对结果判断所述字符是否为乱码,进而判断所述文本文档是否真的为乱码,相较于现有技术中,只是通过判断编码格式是否正确来判断字符是否为乱码,本实施例所述的文本文档乱码检测***检测更为全面,判定结果也更为准确。
本实施例中所述第一编码范围库2中包含被检测文本文档字符的编码格式下所有常规字符的编码范围,例如简体中文字、英文字母、常用的符号等。一般情况下,乱码是指影响到用户对文本文档理解的内容,而一般的简体中文字、英文字和常用符号等几乎可涵盖非乱码情况下的所有字符的编码了。
另外,无论采用哪种字符编码方式,针对每一个字符都会对应一个特定的编码,该编码一般为二进制数,而在第一编码范围库2中包含有常规字符的编码范围,是指其内部存储的所有的编码所对应的二进制数的范围。
本实施例在已经获取文本文档编码格式的情况下,来建立包含被检测文本文档字符的编码格式下所有常规字符的编码范围的第一编码范围库2,同采样模块1选取的字符的编码进行比对,缩小了比对的范围,进而提高了乱码检测的速度。
本实施例中,所述采样模块1中选取的M个字符所对应的编码是随机选择的,其个数可以是3个字符、5个字符、10个字符等,而且随机选择的M个字符可以是在文本文档中的任意位置,彼此之间没有任何关联,也可以是在文本文档中的随机位置处选择的连续的M个字符均可。本实施例中,所述采样模块1中设定M=5。更为优选地,所述采样模块1中选择的M个字符所对应的编码为连续的。通过选取编码连续的5个字符来进行编码范围的比对,可以较为准确的进一步判定所述文本文档是否为乱码。
实施例4
在实施例3的基础上,本实施例所述的文本文档乱码检测***还包括:第二编码范围库4,用于存储已有的所有编码格式下所有字符的编码范围。第二比对模块5,用于将所述第一比对模块3判定为乱码的字符所对应的编码,分别与所述第二编码范围库4中的编码进行比对,若被所述第一比对模块3判定为乱码的字符所对应的编码在所述第二编码范围库4内获得相同结果的编码,则恢复所述编码对应的字符为非乱码;若无法在所述第二编码范围库4内获得相同结果的编码,则判定所述编码对应的字符为乱码。
本实施例所述的文本文档乱码检测***还包括:字体文件获取模块6,用于获取所述被检测文本文档所在终端设备中的用于绘制字体的字体文件。字体绘制模块7,其包括第一字体绘制模块71,用于将所述第一比对模块3判定为非乱码的字符所对应的编码,用所述字体文件获取模块6获取的所述字体文件进行绘制。绘制判断模块8,用于根据绘制结果进行乱码判定,将可以绘制成功的编码所对应的字符判定为非乱码;将无法绘制成功的编码所对应的字符判定为乱码。进一步地,所述字体绘制模块7还包括第二字体绘制模块72,用于将所述第二比对模块5判定为非乱码的字符所对应的编码,用所述字体文件获取模块6获取的所述字体文件进行绘制。
在实施例3中,所述第一编码范围库2中包含有被检测文本文档字符的编码格式下所有常规字符的编码范围,但是也不排除文本文档中的字符恰好不是常规字符,而是具有一定意义的特殊符号。因此,为了避免将这些具有一定意义的特殊符号误判为乱码,本实施例中,通过建立包含已有的所有编码格式下所有字符的编码范围的第二编码范围库4,并将所述第一比对模块3判定为乱码的字符分别与所述第二编码范围库4中的编码进行比对,并根据所述判定为乱码的字符所对应的编码在所述第二编码范围库4内是否获得相同结果的编码,来做出所述字符是否真的为乱码的判定。避免了第一编码范围库4中由于其编码范围是常规字符的编码范围,有可能未将一些特殊符号所对应的编码范围囊括其中,导致将不是乱码的特殊符号判定为乱码的误操作。
本实施例中,通过建立字体文件获取模块6来获取被检测文本文档所在终端设备中的用于绘制字体的字体文件,并将所述第一比对模块3判定为非乱码的字符所对应的编码以及所述第二比对模块5判定为非乱码的字符所对应的编码,用所述字体绘制模块7根据所述字体文件获取模块6获取的所述字体文件进行绘制,并通过所述绘制判断模块8判定所述判定为非乱码的字符是否可以绘制成功,来做出所述字符是否真的为乱码的判定。综合考虑了虽然文本文档中字符的编码正确,但是由于终端设备中未包含用于绘制所述文本文档字符的字体所对应的字体文件,进而产生乱码的情况。
本实施例中所述的字体文件,可以看作一个函数,该函数的变量即为字符所对应的编码。当将字符所对应的编码输入至字体文件中时,字体文件可以根据字符所对应的编码绘制出其所对应的字体,例如、楷体、宋体、仿宋等等。因此,当字符所对应的编码所需要转换成的字体是终端设备中不存在的字体时,那么字体文件对字符所对应的编码的绘制就会失败,因此即使字符编码的格式是正确的,也会导致显示出来的字符是乱码。因此,通过本实施例中的上述判断步骤,可以避免这一情况的出现。
综上所述,本实施例综合考虑了乱码出现的多种原因,进而能够做出所述文本文档是否为乱码的正确判断,之后或者根据乱码出现的真正原因对乱码进行修复,或者给用户提示出现了乱码,无论怎样的方式,都可以提升用户的体验。
本实施例还提供了一个对文本文档进行乱码检测的具体案例,具体案例如下:
此案例的环境为网页的文档阅读。当前网页显示文字的编码格式是Unicode,开始检测乱码流程。乱码文档情况参见图5。
建立第一编码范围库,规定Unicode编码格式下所有常规中文字符的编码范围为U+4E00至U+9FA6。
建立第二编码范围库,比如建立一个包含有已有的所有编码格式下所有中文字符的编码范围的第二编码范围库。常见的中文编码格式例如GB2312、GBK、UTF-8、UTF-32、BIG5等。
对文本文档进行采样,从所述文本文档的随机位置选取连续的五个字符“皯鏃忛€氱”所对应的编码。
首先进行第一比对步骤,将所述五个字符“皯鏃忛€氱”所对应的编码同第一编码范围库规定的Unicode编码格式下所有常规中文字符的编码范围进行比对。通过比对得出,“皯”Unicode编码为U+76AF,在范围内;“鏃”Unicode编码为U+93C3,在范围内;“忛”Unicode编码为U+5fdb,在范围内;但“€”的Unicode编码不在所述编码范围内。则判定“€”为乱码。
将第一比对步骤中判定为乱码的字符“€”的Unicode编码,与所述第二编码范围库的编码进行比对,对比后发现字符“€”的编码在所述第二编码库所给定的编码范围之外,则判定所述字符“€”为乱码,进而判断当前网页显示的中文文本文档为乱码。
值得一提的是,在一段文本文档中,我们可以进行多次以上操作,提高确定文本文档是否为乱码的准确率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

Claims (8)

1.一种文本文档乱码检测方法,其特征在于,包括如下步骤:
建立第一编码范围库的步骤,所述第一编码范围库包含被检测文本文档字符的编码格式下所有常规字符的编码范围;
采样步骤,从被检测文本文档中选取M个字符所对应的编码,其中M为大于或等于1的整数,所述M个字符为在文本文档中的随机位置处选择的连续的M个字符;
第一比对步骤,将所述采样步骤中选取的M个字符所对应的编码,分别与所述第一编码范围库中的编码进行比对,将在所述第一编码范围库内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库内获得相同结果的编码所对应的字符判定为乱码;
建立第二编码范围库的步骤,所述第二编码范围库中包含已有的所有编码格式下所有字符的编码范围;
第二比对步骤,将被所述第一比对步骤判定为乱码的字符所对应的编码,分别与所述第二编码范围库中的编码进行比对,若被所述第一比对步骤判定为乱码的字符所对应的编码在所述第二编码范围库内获得相同结果的编码,则恢复所述编码对应的字符为非乱码;若无法在所述第二编码范围库内获得相同结果的编码,则判定所述编码对应的字符为乱码;
获取所述被检测文本文档所在终端设备中的用于绘制字体的字体文件的步骤;
绘制字体的步骤,将所述第一比对步骤中判定为非乱码的字符所对应的编码,用所述字体文件进行绘制;
绘制判定步骤,将可以绘制成功的编码所对应的字符判定为非乱码;将无法绘制成功的编码所对应的字符判定为乱码。
2.根据权利要求1所述的文本文档乱码检测方法,其特征在于:
所述绘制字体的步骤中,还包括如下操作,将所述第二比对步骤中恢复为非乱码的字符所对应的编码,用所述字体文件进行绘制。
3.根据权利要求 1或2任一所述的文本文档乱码检测方法,其特征在于,所述采样步骤中设定M=5。
4.根据权利要求3所述的文本文档乱码检测方法,其特征在于,所述采样步骤中选择的M个字符所对应的编码为连续的。
5.一种文本文档乱码检测***,其特征在于,包括:
采样模块(1),用于从被检测文本文档中选取M个字符所对应的编码,其中M为大于或等于1的整数;
第一编码范围库(2),用于存储被检测文本文档字符的编码格式下所有常规字符的编码范围;
第一比对模块(3),用于将所述采样模块(1)选取的M个字符所对应的编码,分别与所述第一编码范围库(2)中的编码进行比对,将在所述第一编码范围库(2)内获得相同结果的编码所对应的字符判定为非乱码;将无法在所述第一编码范围库(2)内获得相同结果的编码所对应的字符判定为乱码;
第二编码范围库(4),用于存储已有的所有编码格式下所有字符的编码范围;
第二比对模块(5),用于将所述第一比对模块(3)判定为乱码的字符所对应的编码,分别与所述第二编码范围库(4)中的编码进行比对,若被所述第一比对模块(3)判定为乱码的字符所对应的编码在所述第二编码范围库(4)内获得相同结果的编码,则恢复所述编码对应的字符为非乱码;若无法在所述第二编码范围库(4)内获得相同结果的编码,则判定所述编码对应的字符为乱码;
字体文件获取模块(6),用于获取所述被检测文本文档所在终端设备中的用于绘制字体的字体文件;
字体绘制模块(7),其包括第一字体绘制模块(71),用于将所述第一比对模块(3)判定为非乱码的字符所对应的编码,用所述字体文件获取模块(6)获取的所述字体文件进行绘制;
绘制判断模块(8),用于根据绘制结果进行乱码判定,将可以绘制成功的编码所对应的字符判定为非乱码;将无法绘制成功的编码所对应的字符判定为乱码。
6.根据权利要求5所述的文本文档乱码检测***,其特征在于,所述字体绘制模块(7)还包括第二字体绘制模块(72),用于将所述第二比对模块(5)判定为非乱码的字符所对应的编码,用所述字体文件获取模块(6)获取的所述字体文件进行绘制。
7.根据权利要求5或6任一所述的文本文档乱码检测***,其特征在于,所述采样模块(1)中的所述M取值为5。
8.根据权利要求7所述的文本文档乱码检测***,其特征在于,所述采样模块(1)所选择的M个字符所对应的编码为连续的。
CN201310404498.3A 2013-09-06 2013-09-06 一种文本文档乱码检测方法及*** Expired - Fee Related CN104424165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310404498.3A CN104424165B (zh) 2013-09-06 2013-09-06 一种文本文档乱码检测方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310404498.3A CN104424165B (zh) 2013-09-06 2013-09-06 一种文本文档乱码检测方法及***

Publications (2)

Publication Number Publication Date
CN104424165A CN104424165A (zh) 2015-03-18
CN104424165B true CN104424165B (zh) 2018-05-25

Family

ID=52973173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310404498.3A Expired - Fee Related CN104424165B (zh) 2013-09-06 2013-09-06 一种文本文档乱码检测方法及***

Country Status (1)

Country Link
CN (1) CN104424165B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732228B (zh) * 2015-04-16 2018-03-30 同方知网数字出版技术股份有限公司 一种pdf文档乱码的检测、校正的方法
CN105915586A (zh) * 2016-04-01 2016-08-31 乐视控股(北京)有限公司 文本上传、同步方法和装置
CN107729302B (zh) * 2017-10-23 2021-10-15 Oppo广东移动通信有限公司 解码算法确定方法、装置、终端及存储介质
CN110728111B (zh) * 2018-07-17 2024-06-25 珠海金山办公软件有限公司 一种文档内容的乱码修复方法、装置、终端设备和服务器
CN110728115B (zh) * 2018-07-17 2024-01-26 珠海金山办公软件有限公司 文档内容的乱码识别方法、装置及电子设备
CN108985289A (zh) * 2018-07-18 2018-12-11 百度在线网络技术(北京)有限公司 乱码检测方法及装置
CN110765826A (zh) * 2018-07-27 2020-02-07 珠海金山办公软件有限公司 一种可移植文档格式pdf中的乱码识别方法和装置
CN110659490B (zh) * 2019-09-20 2023-02-24 安天科技集团股份有限公司 恶意样本的处理方法、装置、电子设备及存储介质
CN111245899B (zh) * 2019-12-31 2022-09-20 航天信息股份有限公司广州航天软件分公司 一种web服务环境下非法报文的处理方法及***
CN113569534A (zh) * 2020-04-29 2021-10-29 杭州海康威视数字技术股份有限公司 一种检测文档中乱码的方法及装置
CN112165463B (zh) * 2020-09-14 2023-04-18 杭州安恒信息技术股份有限公司 审计数据的生成方法、装置、设备和计算机可读存储介质
CN114492311A (zh) * 2021-12-21 2022-05-13 成都鲁易科技有限公司 乱码数据的识别方法、装置、存储介质及计算机设备
CN116611397A (zh) * 2023-05-19 2023-08-18 北京神州安付科技股份有限公司 一种金融支付设备特殊字体处理方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110072A (zh) * 2007-08-21 2008-01-23 无敌科技(西安)有限公司 一种自动辨识文字编码的装置及其方法
CN101458682A (zh) * 2008-12-18 2009-06-17 杭州方捷信息技术有限公司 一种基于中文汉字和日文汉字的映射方法及其应用
CN103150293A (zh) * 2011-12-06 2013-06-12 富泰华工业(深圳)有限公司 可进行乱码恢复的电子装置及恢复乱码的方法
CN103246832A (zh) * 2012-02-14 2013-08-14 新唐科技股份有限公司 具有防复制功能的微处理器芯片及其刻录***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202976A (zh) * 2006-12-13 2008-06-18 希姆通信息技术(上海)有限公司 移动通信终端字符转换装置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110072A (zh) * 2007-08-21 2008-01-23 无敌科技(西安)有限公司 一种自动辨识文字编码的装置及其方法
CN101458682A (zh) * 2008-12-18 2009-06-17 杭州方捷信息技术有限公司 一种基于中文汉字和日文汉字的映射方法及其应用
CN103150293A (zh) * 2011-12-06 2013-06-12 富泰华工业(深圳)有限公司 可进行乱码恢复的电子装置及恢复乱码的方法
CN103246832A (zh) * 2012-02-14 2013-08-14 新唐科技股份有限公司 具有防复制功能的微处理器芯片及其刻录***

Also Published As

Publication number Publication date
CN104424165A (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
CN104424165B (zh) 一种文本文档乱码检测方法及***
EP2991004B1 (en) Method and apparatus for labeling training samples
CN107291476A (zh) Canvas代码生成方法、装置、电子设备及存储介质
EP3051428B1 (en) Method and system for selecting an encoding format for reading a target document
CN104750663B (zh) 页面中文本乱码的识别方法及装置
JP7289942B2 (ja) フォント生成モデルトレーニング方法、フォントライブラリ作成方法、フォント生成モデルトレーニング装置、フォントライブラリ作成装置、電子機器、コンピュータ可読記憶媒体、及び、コンピュータプログラム
CN103324632B (zh) 一种基于协同学习的概念识别方法及装置
CN110929477A (zh) 关键词变体的确定方法和装置
CN113205160A (zh) 模型训练、文本识别方法、装置、电子设备和介质
CN105183291A (zh) 显示界面中的信息提取方法及***
CN104090865B (zh) 文本相似度计算方法及装置
CN111159394A (zh) 一种文本摘要生成方法和装置
CN103309851B (zh) 短文本的垃圾识别方法及***
CN114581926A (zh) 多行文本识别方法、装置、设备及介质
KR20100059825A (ko) 분석용 디스플레이 문서 준비 장치
CN101452368B (zh) 一种手写文字输入方法
CN103176604B (zh) 一种特殊字符的输入***及输入方法
CN105677718A (zh) 文字检索方法及装置
CN109062888A (zh) 一种出现错误文本输入时的自纠正方法
CN115294581A (zh) 错误字符的识别方法、装置、电子设备及存储介质
CN111814508A (zh) 一种文字识别方法、***及设备
CN108920560A (zh) 生成方法、训练方法、装置、计算机可读介质及电子设备
CN112256175B (zh) 文字显示方法、装置、电子设备及计算机可读存储介质
CN114781359A (zh) 文本纠错方法、装置、计算机设备及存储介质
CN105893335B (zh) 显示文本的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee after: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee after: FOUNDER APABI TECHNOLOGY Ltd.

Patentee after: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: FOUNDER APABI TECHNOLOGY Ltd.

Patentee before: FOUNDER INFORMATION INDUSTRY HOLDINGS Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220914

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: FOUNDER APABI TECHNOLOGY Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: FOUNDER APABI TECHNOLOGY Ltd.

Patentee before: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180525

CF01 Termination of patent right due to non-payment of annual fee