如何判断⼀个txt⽂件的编码格式
准备⼯作:⽤windows⾃带的记事本⼯具,创建⼀个⽂件,⾥⾯写⼏句话。然后使⽤另存为按钮,分别另存为为:ANSI、UTF-8、Unicode、Unicode Big endian四种格式。
主程序如下:
创建⼀个基于对话框的MFC程序,在对话框中拖拽⼀个按钮,双击后添加如下代码到这个按钮响应的函数中:
void CFileCodeDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
//打开⼀个⽂件
CFileDialog dlg(TRUE,"Txt",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"(*.txt)|*.txt||");
if (dlg.DoModal()==IDOK)
{
CString strFilePath = dlg.GetPathName();
CFile file;
file.Open(strFilePath,CFile::modeRead);
if (!file)
{
AfxMessageBox("呵呵哒!");
}
//读取⽂件头
unsigned char str[1024];
unsigned short head;
size_t len = sizeof(head);
file.Read(&head,sizeof(head));
switch(head)
{
case 0xbbef:
AfxMessageBox("UTF-8");
unicode文件格式break;
case 0xfffe:
AfxMessageBox("unicode Big Endian格式");
break;
case 0xfeff:
AfxMessageBox("unicode格式");
break;
case 0xd2ce:
AfxMessageBox("ANSI 格式");
break;
default:
AfxMessageBox("⽆法判断格式");
break;
}
file.Close();
}
}
运⾏后,到你另存后的⽂件,就可以判断出格式类型了!

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