想做一个字符编码的分析演练系统

想做一个字符编码的分析演示系统
想做一个字符编码的分析演练系统
想做出类似上边这样一个窗体字符编码分析演示系统,我用dataGridView做出一个表格,然后读取任意文件到表格中,以十六进制,ANSI,utf-8,utf-16分别演示出来,结果怎么都显示不出来,我是一个小白,对C#不是很懂,不过这个系统应该不是太难,不用牵扯到数据库什么的,求大神给出这个系统的完整代码,跪谢啦!!!
------解决思路----------------------
我这只有查找是什么字符集的函数代码,自动识别 Ansi 字符集,utf-8 字符集的代码

private bool DectectBom( byte[] boms, int len )
        {
            if( len >= 3 && (boms[0] == 0xEF && boms[1] == 0xBB && boms[2] == 0xBF) )
                return true;
            else if( len >= 2 && ( (boms[0] == 0xFF && boms[1] == 0xFE) 
------解决思路----------------------
 (boms[0] == 0xFE && boms[1] == 0xFF) ) )
                return true;
            return len >= 4 && ( (boms[0] == 0xFF && boms[1] == 0xFE && boms[2] == 0x00 && boms[3] == 0x00)
                
------解决思路----------------------
 (boms[0] == 0x00 && boms[1] == 0x00 && boms[2] == 0xFE && boms[3] == 0xFF) );
        }

        private bool DectectUtf8( byte[] fdata, int len )
        {
            int  i, bytes = 0, decs = 0;
            byte chr;
            for( i=0; i<len; i++ )
            {
                chr = fdata[i];
                if( bytes == 0 ) //分析首字节中隐含的字符序列个数(包括首字节)
                {
                    if( chr >= 0x80 ) // else AscII 码
           {
                        if( (chr & 0xFE) == 0xFC )
                            bytes = 5;
                        else if( (chr & 0xFC) == 0xF8 )
                            bytes = 4;
                        else if( (chr & 0xF8) == 0xF0 )
                            bytes = 3;
                        else if( (chr & 0xF0) == 0xE0 )
                            bytes = 2;
                        else if( (chr & 0xE0) == 0xC0 )
                            bytes = 1;
                        else
                            return false;
           }
                }
                else //多字节符的非首字节,应为 10xxxxxx
                {
                    if( (chr & 0xC0) != 0x80 )
                        return false;
                    if( (--bytes) == 0 )
                    {
                        decs++;
                        //if( decs == 8 ) //有 8 个中文符合 utf-8 编码格式,则基本认定为 utf-8
                            //return true;
                    }
                }
            }
            return bytes == 0; //全是 ASCII 码
        }