gpt4 book ai didi

c# - 将文件转换为 utf-8 但字符被破坏

转载 作者:行者123 更新时间:2023-11-30 14:18:37 24 4
gpt4 key购买 nike

foreach (var f in new DirectoryInfo(@"...").GetFiles("*.cs", SearchOption.AllDirectories)) {
string s = File.ReadAllText(f.FullName);
File.WriteAllText (f.FullName, s, Encoding.UTF8);
}

但是在转换字符时会被破坏。我怎样才能防止 čćžšđ 不被销毁?

我先手动复制文本,然后将文件转换为 utf-8,然后将文本粘贴回去,字符就可以了。但是这里我有 200 多个文件,这太多了。

最佳答案

使用 File.ReadAllText 时,请确保您正在使用正确的编码读取文件。例如 ASCII 文件:

string s = File.ReadAllText(f.FullName, Encoding.ASCII);

如果您使用不正确的编码,该值将在读取过程中被“破坏”。

您可以使用代码页 ID(请参阅 this 页面以获取 ID)使用正确的代码页创建新的 Encoding:

var myEncoding = new Encoding(10081); // for Turkish (Mac)
string s = File.ReadAllText(f.FullName, myEncoding);

关于c# - 将文件转换为 utf-8 但字符被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4174430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com