[发明专利]一种选择读取目标文档的编码格式的方法及其系统有效
申请号: | 201310456276.6 | 申请日: | 2013-09-29 |
公开(公告)号: | CN104516862B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 叶茂;万巍;金立峰;王元龙 | 申请(专利权)人: | 北大方正集团有限公司;北京方正阿帕比技术有限公司;北京大学 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京三聚阳光知识产权代理有限公司11250 | 代理人: | 寇海侠 |
地址: | 100871 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 选择 读取 目标 文档 编码 格式 方法 及其 系统 | ||
技术领域
本发明涉及一种选择读取目标文档的编码格式的方法及其系统,属于电数字数据处理技术领域。
背景技术
编码格式是指用预先规定的方法将文字、数字或其他对象编成数码。编码格式在电子计算机、电视等相关领域广泛使用。文件编码格式也称为字符编码格式,用于指定在处理文本时如何表示字符。读取中文文件时,未正确匹配文件编码格式的情况可能会导致发生异常或产生不正确的结果。常见的汉字编码格式包括GB2312、BIG5、GBK、UTF-8等,对于简体汉字的编码格式,目前又以GB2312和UTF-8最为常用。
在windows系统中,文本文档被广泛使用,开发人员在编写程序读取文档时经常遇到中文编码格式问题。例如,当读取一个文档进行后续处理时,发现程序产出的结果与预期不一致,通过调试跟踪,发现根本原因是读取文件时,由于程序中用于读取文件的编码格式与文件本身的编码格式不一致,导致程序读取得到的是乱码,从而带来了后续的错误。这种情况普遍存在于开发过程中。此外,当需要读取的文档数量很多,并且这些文件的编码格式可能不一致时,就更需要能够有一种选择读取目标文档的编码格式的方法来提高开发效率。
现有技术中公开的文本文档的编码格式读取方法,是读出文本文档的前几个字节,判定这些字节的值,从而得知其编码的格式。但是,有时候,文本文档的前几个字节并没有保留该文本文档的编码格式信息,通过这种方法就无法得到该文本文档的编码格式。如果能够有一种机制,通过选择正确的编码格式来读取文档,将可以大大降低由于文件编码格式引起的问题,提高开发效率。
发明内容
本发明所要解决的技术问题是现有技术只是读出所述目标文档的前几个字节,判定这些字节的值,从而得知其编码的格式,但是,有时候,目标文档的前几个字节并没有保留该文档的编码格式信息,无法获得该文档的编码格式的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
一种选择读取目标文档的编码格式的方法,包括:
通过至少一个参考编码格式读取参考文档,确定利用所述参考编码格式读取参考文档时得到的全部或部分乱码模式;
每次利用一种编码格式读取目标文档;
对于每种编码格式,将该编码格式读取所述目标文档时产生的数据与确定的乱码模式进行比较,确定利用该编码格式读取所述目标文档时产生的乱码;
统计利用每种编码格式读取所述目标文档时产生的乱码,并进行比较,然后确定读取所述目标文档的编码格式。
所述参考编码格式属于包含了全部或部分编码格式的编码格式集,且所述参考编码格式是该编码格式集中读取所述参考文档时会产生乱码的编码格式。
通过所有的参考编码格式读取参考文档,确定利用所述参考编码格式读取参考文档时得到的全部或部分乱码模式。
所述确定利用所述参考编码格式读取参考文档时得到的全部或部分乱码模式的过程如下:
对于使用参考编码格式读取参考文档时获得的乱码字符串,删除乱码字符串中的非有效判断字符,获取有效判断字符;统计有效判断字符中乱码字符的出现次数,获取乱码模式。
所述非有效判断字符指英文字母、数字和空白字符;所述有效判断字符指除所述非有效判断字符以外的所有字符。
统计有效判断字符中乱码字符的出现次数,获取乱码模式时,预先设定次数的阈值,对于出现次数大于所述阈值的所有乱码字符,保存为乱码模式。
统计有效判断字符中乱码字符的出现次数,获取乱码模式时,按乱码字符出现次数倒序排列乱码字符;取得排列在前的部分乱码字符,并将所取的乱码字符保存为乱码模式。
取得排列在前k%的乱码字符,并将所取的乱码字符保存为乱码模式,其中k为正数,50≤k≤100。
所述每次利用一种编码格式读取目标文档时读取部分内容,直到获得预先设置的有效判断字符数为止;若读取所述文档的所有内容后仍未获得预先设置的有效判断字符数,则按实际获取的有效判断字符数为准。
有效判断字符数为50-1000。
将该编码格式读取所述目标文档时产生的数据与确定的乱码模式进行比较,确定利用该编码格式读取所述目标文档时产生的乱码的过程为:
将通过每个编码格式读取所述目标文档时产生的数据逐个与所述乱码模式中的乱码字符逐个比较,如果乱码字符包含此数据,则判定此数据为乱码,否则,则不认为该数据为乱码。
统计利用每种编码格式读取所述目标文档时产生的乱码,并进行比较,然后确定读取所述目标文档的编码格式的过程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北大方正集团有限公司;北京方正阿帕比技术有限公司;北京大学,未经北大方正集团有限公司;北京方正阿帕比技术有限公司;北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310456276.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种译文检查方法及其系统
- 下一篇:一种具有智能学习功能的处理方法及其系统