为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
qq_花开花谢_0 2019-08-31 11:07:14
我尝试检测我的文件中使用了哪个字符编码。我尝试使用此代码来获取标准编码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。是否有图表显示哪些编码与这五个第一个字节匹配?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1245 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信