There is a source with Russian comments, you must display its contents. Font Lucida, codepage Console.OutputEncoding = Encoding.UTF8. An attempt was made to convert a file from one encoding to another using the Convert () method. As far as I understand, in Visual Studio, the default utf-8 encoding (file-additionally-encoding is UTF-8). Instead of Cyrillic characters, other characters are output to the console (with any manipulations 0,65001,866 ...).
static void Main(string[] args) { FileStream fin=new FileStream("Program.cs", FileMode.Open); Console.OutputEncoding=Encoding.UTF8; int i; string s = ""; StringBuilder sb = new StringBuilder(); Encoding utf = Encoding.GetEncoding("utf-8"); Encoding smth = Encoding.GetEncoding(65001); //855, 866, 1251, 20866, 21866, 28595 ??? do { i=fin.ReadByte(); if (i!=-1) sb.Append((char)i); // удобно считываем файл } while (i!=-1); ///////////////////////////////////////////// for (int k = 0; k<sb.Length; k++) s+=sb[k]; // в string для GetBytes() byte[] utfBytes = utf.GetBytes(s.ToCharArray()); byte[] targetBytes = Encoding.Convert(utf, smth, utfBytes); // src, dst, byte[] //далее в char[] и выводим string char[] targetChars = new char[smth.GetCharCount(targetBytes, 0, targetBytes.Length)]; smth.GetChars(targetBytes, 0, targetBytes.Length, targetChars, 0); string res = new string(targetChars); ///////////////////////////////////////////// Console.WriteLine(res); } 
"привет". If it works, output stupidly throughforeach (var line in File.ReadLines(path)) Console.WriteLine(line);. - VladD