Я использую класс StreamReader в .NET так:
using( StreamReader reader = new StreamReader( "c:\somefile.html", true ) {
string filetext = reader.ReadToEnd();
}
Это прекрасно работает, когда файл имеет спецификацию. У меня возникли проблемы с файлом без спецификации ... в основном я получил бред. Когда я указал Encoding.Unicode, он работал нормально, например:
using( StreamReader reader = new StreamReader( "c:\somefile.html", Encoding.Unicode, false ) {
string filetext = reader.ReadToEnd();
}
Итак, мне нужно получить содержимое файла в строку. Так как люди обычно справляются с этим? Я знаю, что не существует решения, которое будет работать 100% времени, но я бы хотел улучшить свои шансы .., очевидно, существует программное обеспечение, которое пытается угадать (например, блокнот, браузеры и т. Д.) Есть ли метод в .NET Framework, который будет угадывать для меня? У кого-нибудь есть код, которым он хотел бы поделиться?
Дополнительные сведения: этот вопрос почти такой же, как у меня, но я нахожусь в .NET земле. Этот вопрос привел меня в блог, в котором перечислены различные библиотеки обнаружения кодировки , но ни одна из них не находится в .NET