C++判断⽂件编码格式
ANSI:        ⽆格式定义;
Unicode:       前两个字节为FFFE;
Unicode big endian: 前两字节为FEFF; 
UTF-8:        前两字节为EFBB;
#include <fstream>
using namespace std;
int main()
{
ifstream fin("C:/Users/Administrator/Desktop/w/1.cpp",ios::binary);
unsigned char  s2;
int p = s2<<8;
p |=s2;
string code;
switch(p)//判断⽂本前两个字节
{
unicode文件格式case 0xfffe:  //65534
code = "Unicode";
break;
case 0xfeff://65279
code = "Unicode big endian";
break;
case 0xefbb://61371
code = "UTF-8";
break;
default:
code = "ANSI";
}
fin.close();
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。