从文件反序列化到对象时,发生乱码,基本就是文件中的编码与流转到对象时的编码不一致,如以下情况:
xml文件为日文编码
反序列化函数Deserialize的参数为StreamReader,而StreamReader的编码与文件编码不一致,这样就会出现乱码
解决方案:
1.构造StreamReader对象的时候与文件编码保持一致
2.用FileStream fsRead = File.OpenRead(fileName), 用File.OpenRead返回的文件流对象去反序列化
(FileStream 操作的是字节, StreamReader为字符,所以StreamReader须指定编码)
标签:文件,编码,C#,乱码,FileStream,序列化,StreamReader From: https://www.cnblogs.com/wuguoqiang/p/17600112.html