zoukankan      html  css  js  c++  java
  • C#读取文件时自动判断编码函数

             /// <summary>
           
    /// C#读取文件时自动判断编码函数
           
    /// </summary>
           
    /// <param name="FILE_NAME">需要判断编码方式文件的物理路径

    "C:\file\file.txt"</param>
           
    /// <returns></returns>
            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(4);
                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;
                }
            }

  • 相关阅读:
    Python--my first try!
    AB PLC首次IP地址如何分配
    如何解压DMK固件
    罗克韦尔自动化官网如何下载设备固件
    如何使用AB PLC仿真软件Studio 5000 Logix Emulate
    Studio 5000指令IN_OUT管脚实现西门子风格
    AB PLC分类
    罗克韦尔自动化发展简史
    C#曲线分析平台的制作(五,Sqldependency+Signalr+windows 服务 学习资料总结)
    自动化监控上位机系统二次开发之我见
  • 原文地址:https://www.cnblogs.com/jhabb/p/1925499.html
Copyright © 2011-2022 走看看