日期:2014-05-18  浏览次数:20780 次

c#文件读写问题(乱码)

FileStream aFile = new FileStream(@"f:\信息\新建文本文档.txt",FileMode.Open)
aFile.Read(data,0,200);
Decoder d = Encoding.UTF8.GetDecoder();
d.GetChars(data,0,data.Length,chardata,0);
Console.WriteLine(chardata);
文本文件里包含中文,英文,输出乱码,怎样解码才能得到和原文本文件一样的内容,或者说怎样知道这个文本文件的编码方式以便构造解码器??

------解决方案--------------------
一般都是规定好编码集合的~~~就是你知道编码是什么,然后用指定的编码去读
不行的话就 Decoder d = Encoding.Defalut.GetDecoder()
------解决方案--------------------
using StreamReader/StreamWriter
------解决方案--------------------
参考:http://blog.csdn.net/happytonice/article/details/6705387
------解决方案--------------------
编码和解码方式不一样..
------解决方案--------------------
多换几个编码,如果还不行,那可能是内容加密了,需要找到解密
------解决方案--------------------
我也遇到过,照以下写法就解决了:
StreamReader sRead = new StreamReader(FileName, System.Text.Encoding.Default);
注意后面是 "System.Text.Encoding.Default",就可以了.
------解决方案--------------------
以下,同意:
C# code

StreamReader sRead = new StreamReader(FileName, System.Text.Encoding.Default);

------解决方案--------------------
正解:
code
StreamReader sRead = new StreamReader(FileName, System.Text.Encoding.Default);

------解决方案--------------------
探讨

以下,同意:
C# code

StreamReader sRead = new StreamReader(FileName, System.Text.Encoding.Default);