Для определения кодировки текста можно воспользоваться библиотекой UDE.CSharp.
Программный код:
using System; using System.IO; namespace FileCharsetDetector { class Program { static void Main(string[] args) { const string filePath = @"D:\\test.txt"; using (FileStream fileStream = File.OpenRead(filePath)) { Ude.CharsetDetector charsetDetector = new Ude.CharsetDetector(); charsetDetector.Feed(fileStream); charsetDetector.DataEnd(); if (charsetDetector.Charset != null) { Console.WriteLine( $"Кодировка - {charsetDetector.Charset}, Уверенность в результате - {charsetDetector.Confidence}."); } else { Console.WriteLine("Проблема с определением кодировки."); } } } } }