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;
                }
            }

  • 相关阅读:
    Log4php使用指南
    【JQuery】使用JQuery 合并两个 json 对象
    【前端】JS截取字符串常用方法详细整理
    【.Net】net 反射15分钟速成
    【.Net】win10 uwp unix timestamp 时间戳 转 DateTime
    【ASP.NET Core】ASP.NET Core 依赖注入
    【ASP.NET 框架系列】您所经历的,但未必研究的那些技术
    Visual Studio 中设置npm
    【数据库】SQL分组多列统计(GROUP BY后按条件分列统计)
    【数据库】同一字段根据不同条件更新的sql语句的写法
  • 原文地址:https://www.cnblogs.com/jhabb/p/1925499.html
Copyright © 2011-2022 走看看