zoukankan      html  css  js  c++  java
  • 判断编码

    //如果文件有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; } }
  • 相关阅读:
    c++运算符优先级
    C++中宽字符类型(wchar_t)的编码
    标志寄存器综述
    ubuntu 更新源
    windows shell命令相关
    汇编语言-环境搭建(16位)
    linux配置ftp
    ssl协议相关
    boost相关
    ubuntu下编译protobuf
  • 原文地址:https://www.cnblogs.com/linn/p/1661077.html
Copyright © 2011-2022 走看看