
Code
        Encoding CheckFileEncoding(string fileName)
        {
            System.Text.Encoding enc = null;
            System.IO.FileStream file = new System.IO.FileStream(fileName,
                FileMode.Open, FileAccess.Read, FileShare.Read);
            BinaryReader br = new BinaryReader(file);
            byte[] bom = new byte[4]; // Get the byte-order mark, if there is one
            br.Read(bom, 0, 4);
            if ((bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) || // utf-8
                (bom[0] == 0xff && bom[1] == 0xfe) || // ucs-2le, ucs-4le, and ucs-16le
                (bom[0] == 0xfe && bom[1] == 0xff) || // utf-16 and ucs-2
                (bom[0] == 0 && bom[1] == 0 && bom[2] == 0xfe && bom[3] == 0xff) || // ucs-4
                (bom[1] == 0 && bom[3] == 0)) // only unicode 
            {
                enc = System.Text.Encoding.Unicode;
            }
            else
            {
                enc = System.Text.Encoding.ASCII;
            }
            file.Close();
            return enc;
        } 
 
    将想法付诸于实践,借此来影响他人是一个人存在的真正价值