Peg.Base.FileLoader.DetermineUnicodeWhenFirstCharIsAscii C# (CSharp) Method

DetermineUnicodeWhenFirstCharIsAscii() static private method

static private DetermineUnicodeWhenFirstCharIsAscii ( string path ) : FileEncoding
path string
return FileEncoding
        static FileEncoding DetermineUnicodeWhenFirstCharIsAscii(string path)
        {
            using (BinaryReader br = new BinaryReader(File.Open(path, FileMode.Open, FileAccess.Read)))
            {
                byte[] startBytes = br.ReadBytes(4);
                if (startBytes.Length == 0) return FileEncoding.none;
                if (startBytes.Length == 1 || startBytes.Length == 3) return FileEncoding.utf8;
                if (startBytes.Length == 2 && startBytes[0] != 0) return FileEncoding.utf16le;
                if (startBytes.Length == 2 && startBytes[0] == 0) return FileEncoding.utf16be;
                if (startBytes[0] == 0 && startBytes[1] == 0) return FileEncoding.utf32be;
                if (startBytes[0] == 0 && startBytes[1] != 0) return FileEncoding.utf16be;
                if (startBytes[0] != 0 && startBytes[1] == 0) return FileEncoding.utf16le;
                return FileEncoding.utf8;
            }
        }
        FileEncoding GetEncoding(EncodingClass encodingClass, UnicodeDetection detection, string path)