手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#读取中文文件出现乱码的解决方法
C#读取中文文件出现乱码的解决方法
摘要:本文实例讲述了C#读取中文文件出现乱码的解决方法。分享给大家供大家参考。具体分析如下:先来看这段代码:FileStreamaFile=new...

本文实例讲述了C#读取中文文件出现乱码的解决方法。分享给大家供大家参考。具体分析如下:

先来看这段代码:

FileStream aFile = new FileStream(SingleFile,FileMode.Open); StreamReader sr = new StreamReader(aFile,Encoding.GetEncoding("gb2312"),true); string FileContent = sr.ReadToEnd(); aFile.Close(); ProcessData Pd = new ProcessData(); Pd.ProceData(FileContent);

StreamReader 使用3个参数 最后一个自动检测utf-8,中文大部分是gb2312,如果不是utf-8,就用gb2312

系统自带utf 检测 ,见如下:

private void DetectEncoding() { if (this.byteLen >= 2) { this._detectEncoding = false; bool flag = false; if ((this.byteBuffer[0] == 0xfe) && (this.byteBuffer[1] == 0xff)) { this.encoding = new UnicodeEncoding(true, true); this.CompressBuffer(2); flag = true; } else if ((this.byteBuffer[0] == 0xff) && (this.byteBuffer[1] == 0xfe)) { if (((this.byteLen < 4) || (this.byteBuffer[2] != 0)) || (this.byteBuffer[3] != 0)) { this.encoding = new UnicodeEncoding(false, true); this.CompressBuffer(2); flag = true; } else { this.encoding = new UTF32Encoding(false, true); this.CompressBuffer(4); flag = true; } } else if (((this.byteLen >= 3) && (this.byteBuffer[0] == 0xef)) && ((this.byteBuffer[1] == 0xbb) && (this.byteBuffer[2] == 0xbf))) { this.encoding = Encoding.UTF8; this.CompressBuffer(3); flag = true; } else if ((((this.byteLen >= 4) && (this.byteBuffer[0] == 0)) && ((this.byteBuffer[1] == 0) && (this.byteBuffer[2] == 0xfe))) && (this.byteBuffer[3] == 0xff)) { this.encoding = new UTF32Encoding(true, true); this.CompressBuffer(4); flag = true; } else if (this.byteLen == 2) { this._detectEncoding = true; } if (flag) { this.decoder = this.encoding.GetDecoder(); this._maxCharsPerBuffer = this.encoding.GetMaxCharCount(this.byteBuffer.Length); this.charBuffer = new char[this._maxCharsPerBuffer]; } } }

希望本文所述对大家的C#程序设计有所帮助。

【C#读取中文文件出现乱码的解决方法】相关文章:

C#技巧之快速删除bin和obj文件夹的方法

使用checked语句防止数据溢出的解决方法

C#对XML文件的各种操作实现方法

c# winform读取xml文件创建菜单的代码

AjaxControlToolkit AjaxFileUpload 显示英文改成中文的解决方法

C# 打开电子邮件软件的具体方法

C#中将字符串转换为整型的三种解决方法总结

使用C#获取系统特殊文件夹路径的解决方法

C#实现写入与读出文本文件的实例代码

C# 向二进制文件进行读写的操作方法

精品推荐
分类导航