狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 判斷一個文本文件的編碼格式

freeflydom
2023年8月23日 11:4 本文熱度 703

文件的字符集在Windows下有兩種,一種是ANSI,一種Unicode。

對于Unicode,Windows支持了它的三種編碼方式,一種是小尾編碼(Unicode),一種是大尾編碼(BigEndianUnicode),一種是UTF-8編碼。

我們可以從文件的頭部來區分一個文件是屬于哪種編碼。當頭部開始的兩個字節為 FF FE時,是Unicode的小尾編碼;當頭部的兩個字節為FE FF時,是Unicode的大尾編碼;當頭部兩個字節為EF BB時,是Unicode的UTF-8編碼;當它不為這些時,則是ANSI編碼。

按照如上所說,我們可以通過讀取文件頭的兩個字節來判斷文件的編碼格式,代碼如下(C#代碼):

private System.Text.Encoding GetFileEncodeType(string filename)

  {

    System.Text.Encoding dftype = System.Text.Encoding.Default;

    System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read);

    System.IO.BinaryReader br = new System.IO.BinaryReader(fs);

    Byte[] buffer = br.ReadBytes(2);

    if (buffer[0] >= 0xEF)

    {

      if (buffer[0] == 0xEF && buffer[1] == 0xBB)

      {

        return System.Text.Encoding.UTF8;

      }

      else if (buffer[0] == 0xFE && buffer[1] == 0xFF)

      {

        return System.Text.Encoding.BigEndianUnicode;

      }

      else if (buffer[0] == 0xFF && buffer[1] == 0xFE)

      {

        return System.Text.Encoding.Unicode;

      }

      else

      {

        return System.Text.Encoding.Default;

      }

    }

    else

    {

        //沒有文件頭應該進一步分析內容確定編碼,這里使用default

      return System.Text.Encoding.Default;

      

    }

  }



該文章在 2023/8/23 11:04:15 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved