C # — .Net Core Запишите текстовый файл в кодировке ANSI

#c# #.net #streamwriter #ansi #txt

Вопрос:

Я должен создать txt-файл в кодировке ANSI, потому что система, в которую я должен его загрузить, читает только ANSI и не читает UTF-8. Я пытался следовать различным потокам, но ничего не получалось, теперь мой код такой:

             Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            StreamWriter sw = new StreamWriter(fileName, false, Encoding.GetEncoding(1252));
            sw.Write(sb.ToString());
            sw.Close();
            sb.Clear();
 

Когда я открываю сгенерированный файл в Notepad , я вижу, что он находится в UTF-8. Кто-нибудь может мне помочь?
Спасибо

Комментарии:

1. Примечание: File.WriteAllText(fileName, sb.ToString(), Encoding.GetEncoding(1252)); является ли сокращенная версия вашего кода

2. Действительно ли ваш текст содержит эксклюзивные символы ANSI? В противном случае Notepad делает только предположение.

Ответ №1:

Notepad угадывает кодировку на основе содержимого файла, поскольку текстовые файлы не содержат используемой кодировки (если только они не начинаются со спецификации).

Если вы пишете, используя кодовую страницу 1252, то это то, что используется.

Комментарии:

1. Я попытался загрузить файл в систему, несмотря на то, что notepad выдает UTF-8, и это работает. Спасибо