• C++判断txt文件编码格式


    转载:https://blog.csdn.net/kikityan/article/details/89923808

    记事本打开txt文件,然后另存,有四种编码格式可供选择,分别是:
    ANSI                              无格式定义                                       对于中文编码格式是GB2312;
    Unicode                         文本里前两个字节为FF FE              字节流是little endian
    Unicode  big endian      文本里前两个字节为FE FF               字节流是big  endian
    UTF-8                            前两字节为EF BB,第三字节为BF     带bom

    下面用c++判断这四种编码格式

     1 #include <fstream>
     2 using namespace std;
     3  
     4 int main()
     5 {
     6     ifstream fin("C:/Users/Administrator/Desktop/w/1.cpp",ios::binary);
     7     unsigned char  s2;
     8     fin.read((char*)&s2, sizeof(s2));//读取第一个字节,然后左移8位
     9     int p = s2<<8;
    10     fin.read((char*)&s2, sizeof(s2));//读取第二个字节
    11     p |=s2;
    12  
    13     string code;
    14  
    15     switch(p)//判断文本前两个字节
    16     {
    17     case 0xfffe:  //65534
    18         code = "Unicode";    
    19         break;
    20     case 0xfeff://65279
    21         code = "Unicode big endian";
    22         break;
    23     case 0xefbb://61371
    24         code = "UTF-8";     
    25         break;
    26  default: 
    27         code = "ANSI"; 
    28      }
    29      fin.close(); 
    30      return 0;
    31 }
  • 相关阅读:
    IDEA搭建《算法》第四版的开发环境
    tomcat源码环境搭建
    cap定理
    idea jdk 源码搭建
    2020-04-07 学习记录
    idea 格式化代码
    Ajax工作原理
    prototype封装继承
    作用域
    原型链的原理
  • 原文地址:https://www.cnblogs.com/Toya/p/11433441.html
Copyright © 2020-2023  润新知