zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    zzuli2470: 迷宫
    zzuli2460: 楼上真的是签到题
    zzuli2460: 楼上真的是签到题
    洛谷P1044 :栈(卡特兰数)
    洛谷P1044 :栈(卡特兰数)
    洛谷P1056:排座椅(贪心)
    代码块地址
    tabBarItem动画
    vim Podfile
    webView进度条
  • 原文地址:https://www.cnblogs.com/Toya/p/11433441.html
Copyright © 2011-2022 走看看