С#, Как в консоли сохранить русский текст?

nats

 Ситуация такая. В консоли, с текстового файла считывается русский текст (слово). После некоторых с ним манипуляций (пусть, допустим файле в слово "XУЙ" хотелось бы заменить и сохранить другое русское слово ("ПИ3ДА" ,например) . Как это сделать?
 

Alexander08

задача сия выше нашего понимания...

nats

А что не понятно? После сохранения файла слово "XУЙ" затирается, а "ПИ3ДА" не появляется. Хотя если написать транслитом, то всё нормально, т.е. английские буквы без проблем читает и переписывает.

Helga87

код, который у тебя сейчас есть и не работает в студию. Пока не до конца понял, что ты хочешь и что не получается, надеюсь код внесет ясность в ситуацию.

tashka

не совсем понял вопрос, но при записи в файл указывай кодировку которая тебе нужна

nats

А как указать кодировку? Приведи какой-нибудь пример плиз.

prosh123

Проблема возникает в следующем случае примере:
StreamReader sr = new StreamReader("Data.DAT");
string str = sr.ReadToEnd;
sr.Close;
Если в указанном файле "Data.DAT" содержится русский текст, то переменная str остается пустой.
Может, кто подскажет, в чем дело?

evgen5555

System.text.encoding.utf8

nats

Слушай Лёх! У меня она пустой не остаётся. Она потом текстпадом некорректно читается. К примеру знаки вопросов вместо букв.

nats

string all_Text;
StreamReader InStream=null;
StreamWriter OutStream=null;
FileInfo textFile=new FileInfo(@"C:\text.txt");
InStream=textFile.OpenText;
all_Text=InStream.ReadToEnd;
InStream.Close;
all_Text="ПИЗДА";

Как теперь переменную all_Text сохранить в тот же файл, чтоб русские буквы нормально отображались.

Helga87


Encoding enc = Encoding.GetEncoding(1251);
string text = File.ReadAllText(@"c:\text.txt", enc);
File.WriteAllText(@"c:\text.txt", "Тут был Вася", enc);

Возможно, вместо Encoding.GetEncoding(1251) будет удобным поставить Encoding.UTF8
зы. Почитай про конструкцию языка C# using. Она упростит тебе в некоторых случаях твой код.

nats

Спасибо!
Оставить комментарий
Имя или ник:
Комментарий: