Как сохранить похожую кодировку - PullRequest
0 голосов
/ 27 мая 2010

У меня есть файл журнала, который содержит половину символа ½, мне нужно обработать этот файл журнала и переписать определенные строки в новый файл, который содержит этот символ. Однако, когда я записываю файл, символы появляются в блокноте неправильно.

Я знаю, что это какая-то проблема с кодировкой, и я не уверен, что файлы, которые я пишу, не содержат правильную информацию или что-то еще.

Я попытался прочитать и записать файл со всеми доступными параметрами кодирования в перечислении Кодировка.

Я использую этот код:

string line;

// Note i've used every version of the Encoding enumeration
using (StreamReader sr = new StreamReader(file, Encoding.Unicode))
using (StreamWRiter sw = new StreamWriter(newfile, false, Encoding.Unicode))
{
    while ((line = sr.ReadLine()) != null)
    {
        // process code, I do not alter the lines, they are copied verbatim
        // but i do not write every line that i read.

        sw.WriteLine(line);
    } 
}

Когда я просматриваю оригинальный журнал в блокноте, половина символов отображается правильно. Когда я просматриваю новый файл, это не так. Это говорит о том, что проблема не в том, что в блокноте отображается символ, потому что он работает в оригинале.

Может кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 27 мая 2010

Решение было PEBKAC.

Я менял кодировки в другой части программы, которая не создавала эти файлы. Когда я изменил правильные файлы, используя Encoding.Default, он отображается правильно.

Спасибо, Джон и другие.

...