当前位置:  开发笔记 > 编程语言 > 正文

如何在.NET中猜测没有BOM的文件的编码?

如何解决《如何在.NET中猜测没有BOM的文件的编码?》经验,为你挑选了1个好方法。

我在.NET中使用StreamReader类,如下所示:

using( StreamReader reader = new StreamReader( "c:\somefile.html", true ) {
    string filetext = reader.ReadToEnd();
}

当文件有BOM时,这可以正常工作.我遇到了没有BOM的文件的麻烦..基本上我得到了胡言乱语.当我指定Encoding.Unicode它工作正常,例如:

using( StreamReader reader = new StreamReader( "c:\somefile.html", Encoding.Unicode, false ) {
    string filetext = reader.ReadToEnd();
}

所以,我需要将文件内容转换为字符串.那么人们通常如何处理这个呢?我知道没有解决方案可以100%的时间工作,但我想提高我的赔率..显然有那些试图猜测的软件(例如,记事本,浏览器等)..NET框架中是否有一种方法可以猜测我?有没有人有他们想分享的代码?

更多背景:这个问题和我的问题差不多,但我在.NET领域.这个问题让我进入了一个列出各种编码检测库的博客,但没有一个在.NET中



1> Michael Pien..:

Libary http://www.codeproject.com/KB/recipes/DetectEncoding.aspx

也许是stackoverflow上一个有用的线程

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有