读取TXT文件的编码

private Encoding GetFileEncoding(Stream s)
        
{            
            Encoding encoding 
= Encoding.Default;
            
try
            
{
                
/*
                 * ANSI:         无格式定义;
                 * Unicode:        前两个字节为FFFE/255,254;
                 * Unicode big endian:  前两字节为FEFF/254,255; 
                 * UTF-8:         前两字节为EFBB/239,187;
                
*/

                
byte[] FirstByte = new byte[2];
                s.Read(FirstByte, 
0, FirstByte.Length);
                
if (FirstByte[0== 239 && FirstByte[1== 187)
                    
return Encoding.UTF8;
                
else if (FirstByte[0== 255 && FirstByte[1== 254)
                    
return Encoding.Unicode;
                
else if (FirstByte[0== 254 && FirstByte[1== 255)
                    
return Encoding.BigEndianUnicode;
            }

            
catch
            
{ }
            
return encoding;
        }

posted @ 2008-03-03 11:23    阅读(568)  评论(0编辑  收藏  举报