Перекодировать текстовые файлы в указанной папке из исходной кодировки в другую - C#

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

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

полное задание: Перекодировать текстовые файлы в указанной папке из исходной кодировки в другую, старые файлы сохранить, добавив к имени файла . bkp. Возможные кодировки ASCII, WIN-1251, kui8- r, ISO-866, Unicode Почитав немного ужаснулся и понял что сам такое непотяну. Прога ориентировочна должна быть консольной тк.. как они попроще. Вроде по отзывам однокурсников прога нетакя уж и большая. Буду очень благодарен если объясните что и как делать, или дадите ссыль на код с объяснениями
есть 1 пример, скорее всего тут есть что надо если объясните как и что тут надо с ним сделать то буду очень благодарен
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace encod
{
    class Program
    {
        static void Main(string[] args)
        {
            // #1
            //// Получить корейскую кодировку
            //Encoding e = Encoding.GetEncoding("Korean");
 
            //// Преобразовать байты ASCII-кодов в корейскую кодировку
            //byte[] encoded;
            //encoded = e.GetBytes("Hello, world!");
            //// Отобразить байты в заданной кодировке 
            //for (int i = 0; i < encoded.Length; i++)
            //Console.WriteLine("Byte {0}: {1}", i, encoded[i]);
 
            // #2 Проверка поддерживаемых кодовых страниц
            //EncodingInfo[] ei = Encoding.GetEncodings(); 
            //foreach (EncodingInfo e in ei)
            //    Console.WriteLine("{0}: {1}, {2}", e.CodePage, e.Name, e.DisplayName);
 
            // #3 Определение кодировки при записи файла
 
            //StreamWriter swUtf7 = new StreamWriter("utf7.txt", false, Encoding.UTF7);
            //swUtf7.WriteLine("Hello, World!");
            //swUtf7.Close();
 
            //StreamWriter swUtf8 = new StreamWriter("utf8.txt", false, Encoding.UTF8);
            //swUtf8.WriteLine("Hello, World!");
            //swUtf8.Close();
 
            //StreamWriter swUtf16 = new StreamWriter("utf16.txt", false, Encoding.Unicode);
            //swUtf16.WriteLine("Hello, World!");
            //swUtf16.Close();
            //StreamWriter swUtf32 = new StreamWriter("utf32.txt", false, Encoding.UTF32);
            //swUtf32.WriteLine("Hello, World!");
            //swUtf32.Close();
 
            // ПРИМЕЧАНИЕ  Выбор кодировки
            //Если вы не знаете, какую кодировку выбрать при создании файла, оставьте кодировку по умолчанию, в .NET Framework это UTF-16.
 
            //#4 Определение кодировки при чтении файла
 
            //string fn = "file.txt";
            //StreamWriter sw = new StreamWriter(fn, false, Encoding.UTF7);
            //sw.WriteLine("Здравствуй, МИР!");
            //sw.Close();
            //StreamReader sr = new StreamReader(fn, Encoding.UTF7);
            //Console.WriteLine(sr.ReadToEnd());
            //sr.Close();
 
            //#5
            //string fn = "file.txt";
            //StreamWriter sw = new StreamWriter(fn, false, Encoding.UTF7);
            //sw.WriteLine("Hello, World!");
            //sw.Close();
            //StreamReader sr = new StreamReader(fn);
            //Console.WriteLine(sr.ReadToEnd());
            //sr.Close();

        }
    }
}

Решение задачи: «Перекодировать текстовые файлы в указанной папке из исходной кодировки в другую»

textual
Листинг программы
static void Main(string[] args)
{
    var dirName = @"D:\Test";
    var inEncodingName = "KOI8-R";
    var outEncodingName = "UTF-8";
 
    var inEncoding = Encoding.GetEncoding(inEncodingName);
    var outEncoding = Encoding.GetEncoding(outEncodingName);
 
    foreach (var fileName in Directory.GetFiles(dirName))
    {
        File.Copy(fileName, fileName + ".bkp");
        var text = File.ReadAllText(fileName, inEncoding);        
        File.WriteAllText(fileName, text, outEncoding);
    }
}

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


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

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

7   голосов , оценка 4.429 из 5
Похожие ответы