首页 新闻 会员 周边 捐助

File字节字符读写文件问题

0
悬赏园豆:5 [待解决问题]

霸霸,为什么我用File.ReadAllText读取nc1文件,再用File.WriteAllText写入txt文件,但是中文会乱码,英文和数字不会,而我用File.ReadAllBytes和File.WriteAllBytes读写就不会乱码?

j_s_z的主页 j_s_z | 初学一级 | 园豆:194
提问于:2025-01-09 17:17
< >
分享
所有回答(3)
0

File.ReadAllText默认使用UTF8编码,如果你的文件不是UTF8,那要设置一下编码.

            string txt = File.ReadAllText("1.txt", Encoding.GetEncoding("GBK"));
            File.WriteAllText("2.txt", txt);

ReadAllBytes按字节读写,不会转换成string,就没有编码问题.

www378660084 | 园豆:1310 (小虾三级) | 2025-01-09 17:34
0

试试带上 encoding 参数

File.ReadAllText(path, Encoding.UTF8);
File.WriteAllText(path, Encoding.UTF8);
dudu | 园豆:28665 (高人七级) | 2025-01-09 17:37
0

上面几位同志说的很清楚了,多说一句:你要 保证写入的文件文字编码要和打开的文件文字编码一致 ,才能保证不乱码。

寂静的羽夏 | 园豆:2241 (老鸟四级) | 2025-01-09 17:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册