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 }
  • 相关阅读:
    计算机图形方面职业计划体会
    Shader Wave
    Cook-Torrance光照模型
    Unity3D 固定功能函数
    Hermite (埃尔米特)曲线
    技能CD 效果 shader
    圆角计算 Shader
    抽象工厂模式
    单例模式
    unity 菜单栏添加新菜单
  • 原文地址:https://www.cnblogs.com/Toya/p/11433441.html
Copyright © 2011-2022 走看看