Чтение кирилицы с файла C#
Нужно считать файл в которм есть символы кирилицы, при выводе на екран все клирические символы отображаються знаками вопроса. Вот как я читаю текст из файла:
static void Main(string[] args)
{
string path = @"C:\Users\USER\Desktop\words\worxds.txt";
using (FileStream fstream = File.OpenRead(path))
{
// преобразуем строку в байты
byte[] array = new byte[fstream.Length];
// считываем данные
fstream.Read(array, 0, array.Length);
// декодируем байты в строку
string textFromFile = System.Text.Encoding.Default.GetString(array);
Console.WriteLine($"Текст из файла: {textFromFile}");
}
}
Есть ли способ, корректно отобращить кирилицу после чтения в консоле?
Ответы (2 шт):
Автор решения: return
→ Ссылка
Используйте Unicode. Если вы кодируете что-либо, кроме английского (американского) языка, то всегда используйте Unicode.
Вы, конечно, можете использовать и 1251 (ASCII 7-битная, +1 бит под русские символы), но она используется только в текстах на русском, а в Unicode можно вставить любые символы в 1-м тексте.
var text = File.ReadAllText("path/to/file", Encoding.Unicode);