Изменение кодировки .txt файла - C#
Формулировка задачи:
Добрый вечер. Недавно начал переходить с Delphi на C#, и столкнулся с проблемой изменения кодировки файла.
Нужно из Windows-1251 перевести в UTF-8, дабы избавить файл от нечитабельных символов.
Можно ли одной строкой это сделать? Или же надо проделывать это с каждой строчке в цикле?
Вот я нацарапал код на delphi, который загружает в стринглист файл и уже работает с каждой из его строк, попутно сохраняя их в другой файл
Собственно, кто знает как это реализовать на C#?
program Project1;
uses
System.Classes;
{$R *.res}
var
SL1,SL2 : TStringList;
i : integer;
str, estr : string;
begin
SL1:=TStringList.Create;
SL2:=TStringList.Create;
SL1.LoadFromFile('file.txt');
i:=0;
While SL1.Count<>i do
begin
str:=SL1[i];
i:=i+1;
estr:=UTF8Encode(str);
SL2.Add(estr);
SL2.SaveToFile('file1.txt');
end;
SL2.Free;
SL1.Free;
Halt
end.Решение задачи: «Изменение кодировки .txt файла»
textual
Листинг программы
using System.IO;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
using(StreamReader reader = new StreamReader("file.txt", Encoding.GetEncoding(1251)))
using(StreamWriter writer = new StreamWriter("file1.txt", false, Encoding.UTF8))
{
writer.Write(reader.ReadToEnd());
}
}
}
}