霸霸,为什么我用File.ReadAllText读取nc1文件,再用File.WriteAllText写入txt文件,但是中文会乱码,英文和数字不会,而我用File.ReadAllBytes和File.WriteAllBytes读写就不会乱码?
File.ReadAllText默认使用UTF8编码,如果你的文件不是UTF8,那要设置一下编码.
string txt = File.ReadAllText("1.txt", Encoding.GetEncoding("GBK"));
File.WriteAllText("2.txt", txt);
ReadAllBytes按字节读写,不会转换成string,就没有编码问题.
试试带上 encoding 参数
File.ReadAllText(path, Encoding.UTF8);
File.WriteAllText(path, Encoding.UTF8);
上面几位同志说的很清楚了,多说一句:你要 保证写入的文件文字编码要和打开的文件文字编码一致 ,才能保证不乱码。