У меня тупая проблема. Я читаю некоторые файлы .cs с диска.
Выполнение большого количества регулярных выражений и других операций с ними с помощью программы .net, которую я сделал.
Затем запишите их обратно на диск.
Полученные файлы получают неправильную кодировку. В какой кодировке находятся исходные файлы c #? И затем есть первая вещь порядка байтов, это необходимо?
Это написано, когда я использую File.WriteAllText ()?
Программа, изменяющая файлы, представляет собой простое приложение .net, а код просто
string text = System.IO.File.ReadAllText(fn);
string newText = Regex.Replace(text, regexStr, replaceStr);
System.IO.File.WriteAllText(fn, newText);
В файлах c # есть комментарии и строки, которые не являются частью стандартной кодовой страницы.
Один из проблемных символов - "ä"
Решение:
похоже, это работает правильно
string text = System.IO.File.ReadAllText(fn, Encoding.GetEncoding(1252));
string newText = Regex.Replace(text, regexStr, replaceStr);
System.IO.File.WriteAllText(fn, newText, Encoding.GetEncoding(1252));