免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: chenxiam
打印 上一主题 下一主题

读取文件后,怎么判断该文件里是否有乱码? [复制链接]

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
31 [报告]
发表于 2008-11-06 15:40 |只看该作者
就这个悬赏而言,分应该给 ynchnluiti

论坛徽章:
0
32 [报告]
发表于 2008-11-06 16:10 |只看该作者
乱码确实是相对的,如果有人在文章里引用一则乱码来说面问题,那么在他的文章里乱码的字符就不算是乱码了,因为他就是要给别人讲乱码这个例子。当热这个例子很极端,不过却是事实。楼主的这个问题确实是无解的,可标题居然写着已解决,奇怪了,我也懒得看最后一页了!

论坛徽章:
0
33 [报告]
发表于 2008-11-12 20:08 |只看该作者

回复 #32 jayeley 的帖子

个人理解,楼主的乱码的产生有两种可能:
1.文件类型不匹配,纯文本被当作doc,或者doc被当作纯文本
2.即使都是纯文本,也还有各种各样的编码,就中文而言,常见的UTF-8,GB2312,BIG5,如果不知道编码,以错误的方式解释,依然是乱码。

第一种可能,用file,或者自己搜集一下各种格式文件的头部格式,然后写个程序自己判断(其实特定领域用户能够用到的应该不多)
第二种可能,需要一些复杂的算法,简单的说就是进行概率统计,看以哪一种编码解释的可能性更高,下面的网址的资料可以参考。 也有人将mozilla的实现移植到了python,不知道perl有没有类似的实现,即使没有,我想python都有了,移植到perl应该不难

http://www.mozilla.org/projects/ ... arsetDetection.html
Python的实现:
http://chardet.feedparser.org/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP