При работе с текстовыми файлами в кодировке, отличной от utf8 в переменные помещаются “крякозябры”. Например, при чтении файла в кодировке iso-8859-1.
Для конвертирования файлов из одной кодировки в другую пригодиться следующий c# код:
// создаем объекты кодировок var inAsciiEncoding = System.Text.Encoding.GetEncoding("windows-1251"); var outUTF8Encoding = System.Text.Encoding.UTF8; // читаем оригинальный файл по байтам var inAsciiBytes = System.IO.File.ReadAllBytes(project.Variables["pathToWin1251File"].Value); // конвертируем байты в нужную кодировку var outUTF8Bytes = System.Text.Encoding.Convert(inAsciiEncoding, outUTF8Encoding, inAsciiBytes); // Записываем переконвертированные байты в файл using (var stream = new System.IO.FileStream(project.Variables["pathToUTF8File"].Value, System.IO.FileMode.Create)) { using (var writer = new System.IO.BinaryWriter(stream, outUTF8Encoding)) { writer.Write(outUTF8Encoding.GetPreamble()); writer.Write(outUTF8Bytes); } }