我在.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中
Libary http://www.codeproject.com/KB/recipes/DetectEncoding.aspx
也许是stackoverflow上一个有用的线程