/// <summary>
/// 获取文件编码方式
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public static Encoding GetEncoding(string file)
{
if (!File.Exists(file))
{
return null;
}
byte[] bits = new byte[3];
FileInfo fi = new FileInfo(file);
FileStream fs = fi.OpenRead();
if (fs == null)
return null;
fs.Read(bits, 0, (int)3);
fs.Close();
//编码类型 Coding=编码类型.ASCII;
if (bits[0] >= 0xEF)
{
if (bits[0] == 0xEF && bits[1] == 0xBB && bits[2] == 0xBF)
{
return System.Text.Encoding.UTF8;
}
else if (bits[0] == 0xFE && bits[1] == 0xFF)
{
return System.Text.Encoding.BigEndianUnicode;
}
else if (bits[0] == 0xFF && bits[1] == 0xFE)
{
return System.Text.Encoding.Unicode;
}
}
return System.Text.Encoding.Default;
}