如何检测文本文件的字符编码?

我尝试检测我的文件中使用了哪个字符编码。


我尝试使用此代码来获取标准编码


public static Encoding GetFileEncoding(string srcFile)

    {

      // *** Use Default of Encoding.Default (Ansi CodePage)

      Encoding enc = Encoding.Default;


      // *** Detect byte order mark if any - otherwise assume default

      byte[] buffer = new byte[5];

      FileStream file = new FileStream(srcFile, FileMode.Open);

      file.Read(buffer, 0, 5);

      file.Close();


      if (buffer[0] == 0xef && buffer[1] == 0xbb && buffer[2] == 0xbf)

        enc = Encoding.UTF8;

      else if (buffer[0] == 0xfe && buffer[1] == 0xff)

        enc = Encoding.Unicode;

      else if (buffer[0] == 0 && buffer[1] == 0 && buffer[2] == 0xfe && buffer[3] == 0xff)

        enc = Encoding.UTF32;

      else if (buffer[0] == 0x2b && buffer[1] == 0x2f && buffer[2] == 0x76)

        enc = Encoding.UTF7;

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

        // 1201 unicodeFFFE Unicode (Big-Endian)

        enc = Encoding.GetEncoding(1201);      

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

        // 1200 utf-16 Unicode

        enc = Encoding.GetEncoding(1200);



      return enc;

    }

我的第五个字节是60,118,56,46和49。


是否有图表显示哪些编码与这五个第一个字节匹配?


qq_花开花谢_0
浏览 1248回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP