Example #1
0
    public static int Main(string[] args)
    {
        Console.WriteLine();

        if (args.Length != 1)
        {
            Console.WriteLine("Usage: TextEncodingDetect.exe <filename>");
            return 1;
        }

        // Read in the file in binary
        byte[] buffer;

        try
        {
            buffer = File.ReadAllBytes(args[0]);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            return 1;
        }

        // Detect encoding
        var textDetect = new TextEncodingDetect();
        TextEncodingDetect.Encoding encoding = textDetect.DetectEncoding(buffer, buffer.Length);

        Console.Write("Encoding: ");
        if (encoding == TextEncodingDetect.Encoding.None)
        {
            Console.WriteLine("Binary");
        }
        else if (encoding == TextEncodingDetect.Encoding.Ascii)
        {
            Console.WriteLine("ASCII (chars in the 0-127 range)");
        }
        else if (encoding == TextEncodingDetect.Encoding.Ansi)
        {
            Console.WriteLine("ANSI (chars in the range 0-255 range)");
        }
        else if (encoding == TextEncodingDetect.Encoding.Utf8Bom || encoding == TextEncodingDetect.Encoding.Utf8Nobom)
        {
            Console.WriteLine("UTF-8");
        }
        else if (encoding == TextEncodingDetect.Encoding.Utf16LeBom || encoding == TextEncodingDetect.Encoding.Utf16LeNoBom)
        {
            Console.WriteLine("UTF-16 Little Endian");
        }
        else if (encoding == TextEncodingDetect.Encoding.Utf16BeBom || encoding == TextEncodingDetect.Encoding.Utf16BeNoBom)
        {
            Console.WriteLine("UTF-16 Big Endian");
        }

        return 0;
    }