Изменение кодировки .txt файла - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Недавно начал переходить с Delphi на C#, и столкнулся с проблемой изменения кодировки файла. Нужно из Windows-1251 перевести в UTF-8, дабы избавить файл от нечитабельных символов. Можно ли одной строкой это сделать? Или же надо проделывать это с каждой строчке в цикле? Вот я нацарапал код на delphi, который загружает в стринглист файл и уже работает с каждой из его строк, попутно сохраняя их в другой файл
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.
Собственно, кто знает как это реализовать на C#?

Решение задачи: «Изменение кодировки .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());
         }
      }
   }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5