Для преобразования строки из одной кодировки в другую в .Net используется класс System.Text.Encoding.
Например, нам необходимо прочитать текстовый файл, но мы знаем, что текст в нем хранится в кодировке Win1251.
Вот пример как это можно сделать:
using (StreamReader _sr = new StreamReader(aFileInfo.FullName, Encoding.GetEncoding(1251)))
{
String _strTmp = _sr.ReadLine()
. . .
}
Но теперь надо сохранить изменения в тойже кодировке.
Это можно сделать вот так:
using (StreamWriter tw = new StreamWriter(aWriteFile.Create(), Encoding.GetEncoding(1251)))
{
// Записываем шапку
tw.WriteLine(String.Format("Проверка записи в кодировке Win1251"));
. . .
tw.Close();
}
P.S. Подробнее тут
P.P.S. И еще статья Джоела Спольски о кодировках