内容显示页
 
类别:.Net + C# | 浏览(180) | 2008-4-4 17:20:39 | 关闭广告

 

public class EncodingType
//编码问题目前为止,基本上没人解决,就连windows的IE的自动识别有时还识别错编码呢。--yongfa365
//如果文件有BOM则判断,如果没有就用系统默认编码,缺点:没有BOM的非系统编码文件会显示乱码。
//调用方法: EncodingType.GetType(filename)
//来源:http://blog.csdn.net/listlofusage/archive/2007/02/10/1506900.aspx
{
    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;
        }
    }
}

 


引用本页地址:http://www.yongfa365.com/item/CsharpEncodingPanDuanWenJianBianMaDeLeiSuiRanYouHenDaQueXianDanMuQianZhiNengZheYangLiao.html
 
 
相关链接
 
网友评论:
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片看不清? 换张图试试
 
   
 
 
文章分类
 
   

power by :柳永法(yongfa365)'Blog | model by :hibaidu | css by:众网友 | 京ICP备07011491号   我要统计  

本空间赞助商:北京中科兴联信息技术有限公司

QQ:64049027    E-mail:64049027<at>qq.com