【发布时间】:2010-10-16 05:55:15
【问题描述】:
我在 .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 框架中是否有一种方法可以让我猜到?有人有一些他们想分享的代码吗?
更多背景:这个question 和我的差不多,但我在.NET 领域。这个问题让我找到了一个博客,列出了各种 encoding detection 库,但没有一个在 .NET 中
【问题讨论】:
标签: c# .net unicode encoding character-encoding