{   
    public static System.Text.Encoding GetType(string FILE_NAME)   
    {   
        FileStream fs 
= new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);   
        System.Text.Encoding r 
= GetType(fs);   
        fs.Close();   
        
return r;   
    }   
    
public static System.Text.Encoding GetType(FileStream fs)   
    {   
        
/*byte[] Unicode=new byte[]{0xFF,0xFE};  
        byte[] UnicodeBIG=new byte[]{0xFE,0xFF};  
        byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};
*/  
  
        BinaryReader r 
= new BinaryReader(fs, System.Text.Encoding.Default);   
        
byte[] ss = r.ReadBytes(3);   
        r.Close();   
        
//编码类型 Coding=编码类型.ASCII;   
        if (ss[0>= 0xEF)   
        {   
            
if (ss[0== 0xEF && ss[1== 0xBB && ss[2== 0xBF)   
            {   
                
return System.Text.Encoding.UTF8;   
            }   
            
else if (ss[0== 0xFE && ss[1== 0xFF)   
            {   
                
return System.Text.Encoding.BigEndianUnicode;   
            }   
            
else if (ss[0== 0xFF && ss[1== 0xFE)   
            {   
                
return System.Text.Encoding.Unicode;   
            }   
            
else  
            {   
                
return System.Text.Encoding.Default;   
            }   
        }   
        
else  
        {   
            
return System.Text.Encoding.Default;   
        }   
    }   
}  

相关文章: