J'ai un problème stupide. Je lis des fichiers .cs à partir du disque. Faire beaucoup d'opérations regex et d'autres avec un programme .net que j'ai fait. Ensuite, écrivez-les sur le disque.Écriture du code source C# dans les fichiers
Les fichiers résultants sont mal codés. Quel encodage sont les fichiers source C#? Et puis il y a la première chose d'ordre des octets, est-ce nécessaire? Est-il écrit quand j'utilise File.WriteAllText()?
Le programme changeant les fichiers est une simple application .net, et le code est tout simplement
string text = System.IO.File.ReadAllText(fn);
string newText = Regex.Replace(text, regexStr, replaceStr);
System.IO.File.WriteAllText(fn, newText);
Les fichiers C# ont des commentaires et les chaînes ne semblent pas faire partie de la page de code standard.
L'un des personnages problématiques est une ""
Solution:
cela semble fonctionner correctement
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));
Comment ouvrez-vous les fichiers? – Bravax