Как установить кодировку файла при записи в c #? - PullRequest
0 голосов
/ 18 ноября 2011

Я не совсем уверен, что полностью понимаю кодировку файлов. Если я записываю текст в файл в c #, как я могу установить тип кодировки этого файла? Может быть, просто я не понимаю весь спектр кодирования файлов.

using (var sw = new StreamWriter(File.Open(@"c:\test.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1")))
{
    sw.WriteLine("my text...");
}

Ответы [ 3 ]

3 голосов
/ 18 ноября 2011

Ваш код делает именно это - вы пишете текст, используя ISO Latin 1.

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

2 голосов
/ 18 ноября 2011

Используйте конструктор , который принимает параметр Encoding, который вы уже делаете, и установите кодировку на тот, который вам нравится.

0 голосов
/ 18 ноября 2011

как то так

using (var sw = new StreamWriter(fileName, true, System.Text.Encoding.UTF8,512);
{
    sw.WriteLine(""text here);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...