如何判断一个txt文件的编码格式

12 篇文章 0 订阅

准备工作:用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");
			break;
		case 0xfffe:
			AfxMessageBox("unicode Big Endian格式");
			break;
		case 0xfeff:
			AfxMessageBox("unicode格式");
			break;		
		case 0xd2ce:
			AfxMessageBox("ANSI 格式");
			break;
		default:
			AfxMessageBox("无法判断格式");
			break;
		}
		file.Close();
	}
	
}

运行后,找到你另存后的文件,就可以判断出格式类型了!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值