国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

C#讀取中文文件出現(xiàn)亂碼的解決方法

2020-01-24 01:53:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了C#讀取中文文件出現(xiàn)亂碼的解決方法。分享給大家供大家參考。具體分析如下:

先來(lái)看這段代碼:

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個(gè)參數(shù) 最后一個(gè)自動(dòng)檢測(cè)utf-8,中文大部分是gb2312,如果不是utf-8,就用gb2312

系統(tǒng)自帶utf 檢測(cè) ,見(jiàn)如下:

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]; } }}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 朔州市| 崇州市| 平和县| 锡林浩特市| 承德市| 包头市| 哈密市| 勐海县| 虎林市| 清镇市| 临洮县| 星座| 沧州市| 阿克陶县| 中卫市| 阜阳市| 新泰市| 台安县| 囊谦县| 邹平县| 金沙县| 长治市| 禄丰县| 高尔夫| 临安市| 兴安县| 图片| 扎赉特旗| 柘城县| 社旗县| 西城区| 富蕴县| 会东县| 乐昌市| 五莲县| 盐边县| 洪江市| 盐边县| 临邑县| 洪江市| 怀安县|