@LebedevStr

Как конвертировать файл в UTF8 с помощью C#?

Здравствуйте. Есть файл:
c:\test.txt

С кодировкой win1251.
Как его конвертировать в UTF8 (без BOM).

Или библиотеку искать, или что :(
На стаке есть размышления на эту тему, но они более специализированные (задачи).

Вот вроде бы как должно работать, но нет :(

namespace ConsoleApp1
{
   class Program
   {
      static void Main(string[] args)
      {
          using(StreamReader reader = new StreamReader(@"d:\test.txt", Encoding.GetEncoding(1251)))
          using(StreamWriter writer = new StreamWriter(@"d:\test.txt", false, Encoding.UTF8))
         {
            writer.Write(reader.ReadToEnd());
         }
      }
   }


Ошибок нет.
Библиотеки подключены, но ничего не происходит.
  • Вопрос задан
  • 2044 просмотра
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
а так? (я не против стримов, общий принцип то тот же.. просто куча суеты уже под капотом ;)
using System.IO;
using System.Text;

namespace ansi2utf8
{
    class Program
    {
        static void Main(string[] args)
        {
            var t = File.ReadAllText("quest.txt", Encoding.Default);
            File.WriteAllText("quest8.txt", t, Encoding.UTF8);
        }
    }
}
spoiler
Jf3pH9u.pngm36z6IT.png
вся папка проекта с компиляцией и тд..
https://www.sendspace.com/file/a635b5
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@John_Nash
coder
должны быть разные имена файлов
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы