C#如何获取文件编码类型,如果哪位高人解决,可以再开贴给分!
下面这段代码是读取网页内容,但在文本框读取的时候有些网页显示的是乱码,在许多网站上找了N多资料,想获取文件编码类型,但都感觉不是很理想,如果哪位高人解决,如果觉得分不够,可以再开贴给!
Encoding targetEncoding = Encoding.Default;//默认编码类型
WebRequest request = WebRequest.Create(txtURL.Text.Trim());
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream,targetEncoding);
richTextBox1.Text += sr.ReadToEnd();
//利用StreamReader.CurrentEncoding获取编码类型也不行,一直返回UTF-8.
------解决方案--------------------我当初使用了一个不是完美的解决方法,你可以先按照文件读出前4个byte,在网上能够找到所对应的byte代表是哪种文件格式。
------解决方案--------------------先取得文件的编码方式:
http://dev.cbw.com/net/c/2005955201_3419871.shtml
------解决方案--------------------http://blog.csdn.net/zdg/archive/2005/01/29/272643.aspx
------解决方案--------------------我觉得肯定不会有完美的解决方案的。如果用 xml,还有可能知道 encoding 是什么。
你看 IE 就算使用自动编码选择,有时候不还是会出现乱码嘛。
------解决方案--------------------sorry, 没仔细看,看来还是有方法的啊,就是挺复杂的。。。。