亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2015年05月05日 09:55:36   作者:work24  
這篇文章主要介紹了C#讀取中文文件出現(xiàn)亂碼的解決方法,涉及C#中文編碼的操作技巧,非常具有實用價值,需要的朋友可以參考下

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

先來看這段代碼:

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

系統(tǒng)自帶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#程序設(shè)計有所幫助。

相關(guān)文章

  • C#獲取網(wǎng)頁源代碼的方法

    C#獲取網(wǎng)頁源代碼的方法

    這篇文章主要介紹了C#獲取網(wǎng)頁源代碼的方法,涉及C#基于自定義函數(shù)讀取網(wǎng)頁html代碼的方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 輕松學(xué)習(xí)C#的屬性

    輕松學(xué)習(xí)C#的屬性

    輕松學(xué)習(xí)C#的屬性,對C#的屬性感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的屬性
    2015-11-11
  • c#操作iis根目錄的方法

    c#操作iis根目錄的方法

    這篇文章主要介紹了c#操作iis根目錄的方法,涉及C#針對IIS下目錄的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • C#全局熱鍵設(shè)置與窗體熱鍵設(shè)置實例

    C#全局熱鍵設(shè)置與窗體熱鍵設(shè)置實例

    這篇文章主要介紹了C#全局熱鍵設(shè)置與窗體熱鍵設(shè)置實例,對C#全局熱鍵設(shè)置與窗體熱鍵設(shè)置的實現(xiàn)方法與具體代碼進(jìn)行了詳細(xì)的介紹,需要的朋友可以參考下
    2014-10-10
  • Unity UGUI的LayoutElement布局元素組件介紹使用示例

    Unity UGUI的LayoutElement布局元素組件介紹使用示例

    這篇文章主要為大家介紹了Unity UGUI的LayoutElement布局元素組件介紹使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • C# 開發(fā)(創(chuàng)藍(lán)253)手機(jī)短信驗證碼接口的實例

    C# 開發(fā)(創(chuàng)藍(lán)253)手機(jī)短信驗證碼接口的實例

    下面小編就為大家分享一篇C# 開發(fā)(創(chuàng)藍(lán)253)手機(jī)短信驗證碼接口的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • c# NPOI 如何在指定單元格導(dǎo)入導(dǎo)出圖片

    c# NPOI 如何在指定單元格導(dǎo)入導(dǎo)出圖片

    這篇文章主要介紹了c# NPOI 如何在指定單元格導(dǎo)入導(dǎo)出圖片,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • Unity中EventTrigger的幾種使用操作

    Unity中EventTrigger的幾種使用操作

    這篇文章主要介紹了Unity中EventTrigger的幾種使用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • c# 應(yīng)用事務(wù)的簡單實例

    c# 應(yīng)用事務(wù)的簡單實例

    這篇文章介紹了c# 應(yīng)用事務(wù)的簡單實例,有需要的朋友可以參考一下
    2013-09-09
  • 利用C#/VB.NET實現(xiàn)將PDF轉(zhuǎn)為Word

    利用C#/VB.NET實現(xiàn)將PDF轉(zhuǎn)為Word

    眾所周知,PDF 文檔支持特長文件,集成度和安全可靠性都較高,可有效防止他人對 PDF 內(nèi)容進(jìn)行更改,所以在工作中深受大家喜愛。本文將分為兩部分介紹如何以編程的方式將 PDF 轉(zhuǎn)換為 Word,需要的可以參考一下
    2022-12-12

最新評論