无耐网上各种方法都有缺陷,此方法为原创,暂问发现问题。如发现请指正

public static Encoding GetFileEncodingByContent(string path)
        {
            var contentWithUTF8 = File.ReadAllText(path, Encoding.UTF8);
            var contentWithGBK = File.ReadAllText(path, Encoding.GetEncoding("GBK"));
            if (contentWithUTF8.Length < contentWithGBK.Length)
                return Encoding.UTF8;
            else if (contentWithUTF8.Length == contentWithGBK.Length)
            {
                using (var reader = new StreamReader(path, true))
                {
                    reader.Peek(); // you need this!
                    return reader.CurrentEncoding;
                }
            }
            else
                return Encoding.GetEncoding("GBK");
            
        }

 

相关文章:

  • 2022-12-23
  • 2021-08-24
  • 2022-12-23
  • 2021-11-06
  • 2021-08-24
  • 2022-12-23
  • 2021-11-06
  • 2021-10-03
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案