Кодировка Windows-1252 в StreamWriter возвращает ANSI-кодированный файл

Я пытаюсь закодировать строку в Windows-1252 с помощью StreamWriter. Входная строка (dataString) кодируется в UTF8.

StreamWriter sw = new StreamWriter(@"C:\Temp\data.txt", true, Encoding.GetEncoding(1252));
sw.Write(dataString);
sw.Close();

Когда я открываю файл в Notepad ++, я получаю ANSI файл. Мне нужен файл с кодировкой Windows-1252.

У кого-то есть идея?

+3
06 нояб. '12 в 16:55
источник поделиться
1 ответ

Ваш файл закодирован в Windows-1252. В файле не-Юникода нет данных, указывающих, как кодируется файл. В этом случае ANSI просто означает не Unicode. Если вы хотите закодировать русский или Windows-1251 и открыть его в Notepad ++, Notepad ++ отобразит его как ANSI.

Подробнее см. Unicode, UTF, ASCII, отличия формата ANSI.

+3
06 нояб. '12 в 17:59
источник

Посмотрите другие вопросы по меткам или Задайте вопрос