一种检测文档中乱码的方法及装置

文档序号:169323 发布日期:2021-10-29 浏览:23次 >En<

阅读说明:本技术 一种检测文档中乱码的方法及装置 (Method and device for detecting messy codes in document ) 是由 孙自刚 于 2020-04-29 设计创作,主要内容包括:本发明公开了一种检测文档中乱码的方法及装置,本发明实施例获取嵌入式设备当前支持语言的字库并加载后,依次读取文档的字符编码集合中的每个字符编码,针对每个字符编码,判断是否在嵌入式设备当前加载的语言数据库中存在,如果否,得到所述字符编码为乱码的检测信息,如果是,检测下一个字符编码,直到文档的字符编码集合中的所有字符编码被判断完;汇总文档中的所有字符编码为乱码的检测信息,输出。这样,本发明实施例实现了对文档的字符编码集合中的每个字符编码的乱码检测,且将得到的最终检测信息输出给用户查看,增加了用户体验度。(The invention discloses a method and a device for detecting messy codes in a document, wherein after a word stock of a current support language of an embedded device is obtained and loaded, each character code in a character code set of the document is read in sequence, whether the character code exists in a language database loaded by the embedded device at present is judged aiming at each character code, if not, the detection information that the character code is the messy code is obtained, if so, the next character code is detected until all the character codes in the character code set of the document are judged; and summarizing all character codes in the document into detection information of messy codes and outputting the detection information. Therefore, the method and the device for detecting the messy codes of the character codes in the character code set of the document realize the messy code detection of each character code in the character code set of the document, output the obtained final detection information to a user for checking, and increase the user experience.)

一种检测文档中乱码的方法及装置

技术领域

本发明涉及嵌入式设备处理文档的技术,特别涉及一种检测文档中乱码的方法及装置。

背景技术

嵌入式设备是以应用为中心,以计算机技术为基础设置的设备,应用系统适用于对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。在嵌入式设备应用中,文档都是以字符编码集合的形式存储在嵌入式设备中,或在嵌入式设备之间传输。当在某一嵌入式设备显示某一文档时,首先,在该嵌入式设备中加载所支持语言的字库,在该字库中存储有字符编码与该语言文本之间的映射关系;然后,该嵌入式设备读取存储的文档或接收到远程嵌入式设备传输的文档,该文档以字符编码集合的形式存在,根据该字中的映射关系,将该字符编码集合中的各个字符编码转换为该语言文本,显示。但是,在文档的字符编码集合中的各个字符编码转换为该语言文本时,一个或多个字符编码有可能转换错误,在显示的该语言文本中出现乱码,影响浏览该语言文本的用户体验度。

为了避免文档在显示时出现乱码,需要对文档进行检测。目前,对文档进行检测通常采用文档整体检测方式,比如在文档打开之前校验文档的字符编码集合是否被损坏,或者校验读取到的文档字符编码集合是否完整等等,以此确认整体文档在显示时是否会出现乱码。但是,这种文档整体检测方式无法有针对性对文档的字符编码集合中的每一个字符编码进行乱码检测,导致即使通过了文档整体检测的文档在显示时,仍然有乱码存在的问题。

发明内容

有鉴于此,本发明实施例提供一种检测文档中乱码的方法,该方法能够对文档的字符编码集合中的每个字符编码的转换进行乱码检测。

本发明实施例还提供一种检测文档中乱码的装置,该装置能够对文档的字符编码集合中的每个字符编码的转换进行乱码检测。

本发明实施例是这样实现的:

一种检测文档中乱码的方法,所述方法包括:

获取嵌入式设备当前支持语言的字库并加载;

依次读取文档的字符编码集合中的每个字符编码;

针对每个字符编码,判断是否在所述加载的字库中存在,如果否,得到所述字符编码为乱码的检测信息;

汇总文档中的所有字符编码为乱码的检测信息,输出。

优选地,所述判断是否在所述加载的字库中存在,还包括:

a、判断在所述加载的字库中存在;

b、判断所述字符编码集合中的下一个字符编码是否在所述加载的字库中存在,如果否,执行步骤c;如果是,执行步骤d;

c、得到所述字符编码为乱码的检测信息;

d、返回步骤b继续执行,直到所述文档的字符编码集合中的所有字符编码被判断完。

优选地,所述判断是否在所述加载的字库中存在包括:

所述加载的字库中记录有字符编码与当前语言文本之间的映射关系;

判断所述加载的字库中是否有与所述读取的字符编码相同的字符编码。

优选地,所述获取嵌入式设备当前支持语言的字库并加载还包括:

嵌入式设备支持语言有多个;

依次将所述嵌入式设备支持语言中的一个作为嵌入式设备当前支持语言;

获取嵌入式设备当前支持语言的字库并加载。

优选地,所述方法还包括:

将文档的字符编码集合转换为嵌入式设备当前支持语言的语言文本;

根据所述汇总文档中的所有字符编码为乱码的检测信息,在所述语言文本中标记出乱码。

一种检测文档中乱码的装置,包括:加载单元、读取单元、检测单元及输出单元,其中,

加载单元,用于获取嵌入式设备当前支持语言的字库并加载;

读取单元,用于依次读取文档的字符编码集合中的每个字符编码;

检测单元,用于针对每个字符编码,判断是否在所述加载的字库中存在,如果否,得到所述字符编码为乱码的检测信息;

输出单元,用于汇总文档中的所有字符编码为乱码的检测信息,输出。

优选地,所述检测单元,还用于:

a、判断在所述加载的字库中存在;

b、判断所述字符编码集合中的下一个字符编码是否在所述加载的字库中存在,如果否,执行步骤c;如果是,执行步骤d;

c、得到所述字符编码为乱码的检测信息;

d、返回步骤b继续执行,直到所述文档的字符编码集合中的所有字符编码被判断完。

优选地,所述检测单元,还用于:

所述加载的字库中记录有字符编码与当前语言文本之间的映射关系;

判断所述加载的字库中是否有与所述读取的字符编码相同的字符编码。

优选地,所述加载单元,还用于:

嵌入式设备支持语言有多个;依次将所述嵌入式设备支持语言中的一个作为嵌入式设备当前支持语言;获取嵌入式设备当前支持语言的字库并加载。

还包括转换单元,用于将文档的字符编码集合转换为嵌入式设备当前支持语言的语言文本;

所述输出单元,还用于根据所述汇总文档中的所有字符编码为乱码的检测信息,在所述语言文本中标记出乱码。

如上所见,本发明实施例获取嵌入式设备当前支持语言的字库并加载后,依次读取文档的字符编码集合中的每个字符编码,针对每个字符编码,判断是否在嵌入式设备当前加载的语言数据库中存在,如果否,得到所述字符编码为乱码的检测信息,如果是,检测下一个字符编码,直到文档的字符编码集合中的所有字符编码被判断完;汇总文档中的所有字符编码为乱码的检测信息,输出。这样,本发明实施例实现了对文档的字符编码集合中的每个字符编码的乱码检测,且将得到的最终检测信息输出给用户查看,增加了用户体验度。

附图说明

图1为本发明实施例提供的检测文档中乱码的方法流程图;

图2为本发明实施例判断字符编码是否在所述加载的字库中存在的方法流程图;

图3为本发明实施例提供的获取嵌入式设备当前支持语言的字库并加载的方法流程图;

图4为本发明实施例提供的检测文档中乱码的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。

从背景技术可以看出,目前针对文档的乱码检测方式采用的是文档整体检测方式,无法针对文档的字符编码集合中的每个字符编码进行乱码检测,这样得到的检测结果不准确,无法反应文档中乱码的真实情况。为了克服这个问题,本发明实施例获取嵌入式设备当前支持语言的字库并加载后,依次读取文档的字符编码集合中的每个字符编码,针对每个字符编码,判断是否在嵌入式设备当前加载的语言数据库中存在,如果否,得到所述字符编码为乱码的检测信息,如果是,检测下一个字符编码,直到文档的字符编码集合中的所有字符编码被判断完;汇总文档中的所有字符编码为乱码的检测信息,输出。

这样,本发明实施例实现了对文档的字符编码集合中的每个字符编码的乱码检测,且将得到的最终检测信息输出给用户查看,增加了用户体验度。

图1为本发明实施例提供的检测文档中乱码的方法流程图,其具体步骤为:

步骤101、获取嵌入式设备当前支持语言的字库并加载;

步骤102、依次读取文档的字符编码集合中的每个字符编码;

步骤103、针对每个字符编码,判断是否在所述加载的字库中存在,如果否,得到所述字符编码为乱码的检测信息;

步骤104、汇总文档中的所有字符编码为乱码的检测信息,输出。

在该方法的步骤103中的判断是否在所述加载的字库中存在的方法流程图如图2所示,其具体步骤为:

步骤201、按照顺序读取文档的字符编码集合中的一个字符编码,判断是否在所述加载的字库中存在,如果否,执行步骤202;如果是,执行步骤203;

步骤202、得到所述字符编码为乱码的检测信息,继续执行步骤203;

步骤203、判断所述字符编码集合中的下一个字符编码是否在所述加载的字库中存在,如果否,执行步骤204;如果是,执行步骤205;

步骤204、得到所述字符编码为乱码的检测信息,转入步骤205;

步骤205、确定所述文档的字符编码集合中的所有字符编码是否被判断完,如果是,执行步骤206;如果否,返回步骤203继续执行;

步骤206、汇总文档中的所有字符编码为乱码的检测信息。

这样,经过了图2的检测过程,就针对文档中的每个字符编码进行了乱码检测,整个过程循环执行,直到文档中的最后一个字符编码被乱码检测完,使得文档的乱码检测准确率增高。

在图2所述的过程中,对所述字符编码集合中的每个字符编码进行判断的顺序是依据其在文档中顺序出现的顺序确定的,这样,文档出现的最后一个字符编码也被最后检测完,在汇总后并在文档标记时也可以按照该顺序进行标记显示,不会标记错误,使得文档的乱码检测率增高,且易于实现。当然,对所述字符编码集合中的每个字符编码进行判断的顺序也可以不依据其在文档中顺序出现的顺序确定,而是随机的或者是依据设定的判断顺序规则进行判断的,根据需要进行设定,只要保证所述字符编码集合中的所有字符编码都被检测过,采用这种方式判断更加灵活,增强用户体验度。

在图1的方法中,具体判断文档的每个字符编码是否在所述加载的字库中存在包括:所述加载的字库中记录有字符编码与当前语言文本之间的映射关系;判断所述加载的字库中是否有与所述读取的字符编码相同的字符编码。这样,本发明实施例预先设置了字符编码与当前语言文本之间的对应关系,在判断过程中就直接利用了已有的字库中的映射关系,简单地对文档中的每个字符编码进行了乱码检测,易于实施。

在本发明实施例中,嵌入式设备机不仅仅可以支持一种语言,还可以支持多种语言,对于每种语言,其都有对应的字库存在,在要显示文档时,都在嵌入式设备支持的某一种语言环境下显示对应的语言文本。当对文档进行乱码检测时,就需要确定该文档的语言环境,这是因为,在某一种语言环境下文档存在乱码,在另一种语言环境下则文档可能不存在乱码。

当嵌入式设备支持的语言有多个时,如何具体在每一种语言环境下实现文档中的字符编码的检测过程如图3所示,图3为本发明实施例提供的获取嵌入式设备当前支持语言的字库并加载的方法流程图,其具体步骤为:

步骤301、嵌入式设备支持多种语言;

步骤302、依次将所述嵌入式设备支持语言中的一个作为嵌入式设备当前支持语言;

步骤303、获取嵌入式设备当前支持语言的字库并加载,进行文档的乱码检测过程;

步骤304、判断文档的乱码检测过程是否完成,如果是,执行步骤305;如果否,执行步骤306;

步骤305、返回步骤302继续执行,直到嵌入式设备所支持的语言都被选择完;

步骤306、继续进行文档的乱码检测,返回步骤304执行。

从图3可以看出,本发明实施例在对文档中的乱码进行检测时,可以在不同的语言环境中进行,只要在判断前切换所支持的语言环境,从而可以在多语言环境下进行文档的乱码检测,使得乱码检测的应用范围广。

当然,由于用户已知需要采用何种语言显示文档,所以在图3所述的基础上,也可以由用户主动选择一种语言,作为嵌入式设备当前支持的语言并加载对应的字库后,执行文档的乱码检测过程,这样就不需要在多种语言环境下依次进行文档的乱码检测了,更加简单及快速。

在图1所述的步骤104中,有多种输出汇总文档中的所有字符编码为乱码的检测信息方式,比如,直接将检测信息进行显示给用户,也可以在显示的文档中采用标亮或不同颜色的方式显示等,从而使得用户更加容易获知文档中的乱码。可以根据用户需要,采用其中的一种输出乱码的检测信息方式,使得用户能够更快速且准确地获知文档中检测得到的乱码,提高用户体验度。

具体地说,输出文档中的乱码方式可以包括:

将文档的字符编码集合转换为嵌入式设备当前支持语言的语言文本;

根据所述汇总文档中的所有字符编码为乱码的检测信息,在所述语言文本中标记出乱码。

举一个具体例子对本发明实施例进行说明。

假设嵌入式设备支持的语言为泰语,加载的是泰语的字库,读取了文档的字符编码集合进行转换后显示对应的泰语文本,比如期望显示的泰语文本为:

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

但是因为某些因素导致该文档的字符编码集合进行转换后显示对应的泰语文本为:

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

也就是中间有个字符变成了问号“?”,出现了乱码。这对于用户来说不太容易识别出。

采用本发明实施例提供的方法对上述文档进行测试后,就可以得到该字符编码的乱码的检测信息,并提供给用户,使得用户很容易获知该文档中出现乱码的位置及乱码具体是什么,提高乱码识别的准确度,提高用户体验。

图4为本发明实施例提供的检测文档中乱码的装置结构示意图,包括:加载单元、读取单元、检测单元及输出单元,其中,

加载单元,用于获取嵌入式设备当前支持语言的字库并加载;

读取单元,用于依次读取文档的字符编码集合中的每个字符编码;

检测单元,用于针对每个字符编码,判断是否在所述加载的字库中存在,如果否,得到所述字符编码为乱码的检测信息;

输出单元,用于汇总文档中的所有字符编码为乱码的检测信息,输出。

该装置实现了对文档的字符编码集合中的每个字符编码的乱码检测,且将得到的最终检测信息输出给用户查看,增加了用户体验度。

在该装置中,所述检测单元,还用于:

a、判断在所述加载的字库中存在;

b、判断所述字符编码集合中的下一个字符编码是否在所述加载的字库中存在,如果否,执行步骤c;如果是,执行步骤d;

c、得到所述字符编码为乱码的检测信息;

d、返回步骤b继续执行,直到所述文档的字符编码集合中的所有字符编码被判断完。

这样,该检测单元就针对文档中的每个字符编码进行了乱码检测,整个过程循环执行,直到文档中的最后一个字符编码被乱码检测完,使得文档的乱码检测准确率增高。

进一步,在该装置中,所述检测单元,还用于:所述加载的字库中记录有字符编码与当前语言文本之间的映射关系;判断所述加载的字库中是否有与所述读取的字符编码相同的字符编码。明确了检测单元对文档中的每个字符编码的具体检测方式。在这种情况下,该装置预先设置了字符编码与当前语言文本之间的对应关系,在判断过程中就直接利用了已有的字库中的映射关系,简单地对文档中的每个字符编码进行了乱码检测,易于实施。

进一步,在该装置中,所述加载单元,还用于:嵌入式设备支持语言有多个;依次将所述嵌入式设备支持语言中的一个作为嵌入式设备当前支持语言;获取嵌入式设备当前支持语言的字库并加载。在嵌入式设备支持的不同语言环境下分别进行文档中的字符编码的乱码检测,而不仅仅在一种语言环境下进行文档中的字符编码的乱码检测,增大了文档的乱码检测范围。在这种情况下,该装置在对文档中的乱码进行检测时,可以在不同的语言环境中进行,只要在判断前切换所支持的语言环境,从而可以在多语言环境下进行文档的乱码检测,使得乱码检测的应用范围广。

进一步,在该装置中,有多种输出汇总文档中的所有字符编码为乱码的检测信息方式,可以根据用户需要,采用其中的一种输出乱码的检测信息方式,使得用户能够更快速且准确地获知文档中检测得到的乱码,提高用户体验度。具体地,其中一种为:还包括转换单元,用于将文档的字符编码集合转换为嵌入式设备当前支持语言的语言文本;所述输出单元,还用于根据所述汇总文档中的所有字符编码为乱码的检测信息,在所述语言文本中标记出乱码。

本发明实施例可以针对文档的字符编码集合中的每个字符编码进行乱码检测,并将检测结果提供给用户,以使用户及时获知,提高了用户体验度。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于NODEJS应用的文件转换解析方法、系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!