Изменение кодировки .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());
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д