文本编码的自动检测
来源:互联网 发布:2017淘宝入驻条件费用 编辑:程序博客网 时间:2024/04/30 19:21
void CDetectCodeDlg::OnButton1()
{
// TODO: Add your control notification handler code here
::CoInitializeEx(NULL,COINIT_MULTITHREADED); // init COM
IMultiLanguage2* pIMultiLanguage2 = NULL;
HRESULT hr = S_OK;
hr = CoCreateInstance(CLSID_CMultiLanguage, NULL, CLSCTX_INPROC_SERVER, IID_IMultiLanguage2, (void**)&pIMultiLanguage2);
if (hr == S_OK)
{
DetectEncodingInfo encoding[10];
CFile file;
if (!file.Open(_T("5.txt"),CFile::modeRead | CFile::shareDenyNone, NULL))
{
return ;
}
int nFileLen = (int)file.GetLength();
// char *pBuf = new char[nFileLen];
char *pBuf = new char[nFileLen+1];
memset(pBuf, 0, nFileLen +1);
// memset(pBuf, 0, nFileLen );
file.SeekToBegin();
file.Read(pBuf,nFileLen);
file.Close();
// char* str1="中华人民共和国万岁";
char* str1=pBuf;
int nScores = 10;
int nBufLen = strlen(str1);
// int nBufLen = 266465;
memset(encoding, 0, sizeof(DetectEncodingInfo)*10);
hr = pIMultiLanguage2->DetectInputCodepage(MLDETECTCP_NONE, 0, str1, &nBufLen, encoding, &nScores);
if (hr == S_OK)
{
TRACE(_T("%d,%d/n"), encoding[0].nLangID, encoding[0].nCodePage);
}
pIMultiLanguage2->Release();
delete []pBuf;
}
::CoUninitialize();
}
PC上运行正常.WINCE上如果是Imultilanguage2创建失败,需要在image中添加Internet Explorer Multiple-Language Full API组件. 但是在wince上在执行DetectInputCodePage时仍是不正常的,除了中文会返回932,英文及其它语言的都会返回65001(UTF-8),而西里尔文会直接返回 E_FAIL,执行失败.在WINCE上应该是缺少正确的支持.
- 文本编码的自动检测
- 自动检测文本的字符集:URL的页面编码+文本文件编码
- 自动检测文本的字符集
- 自动检测TXT文件编码
- scite自动检测文件编码
- 一种复合的自动检测语言或编码的方法
- gedit中文编码自动检测设置
- 文本编码的智能识别
- 关于QT的文本编码
- 停用词的自动检测
- 自动检测数据库连接的有效性
- js版本的文本文件文件保存编码自动检测功能实现与检测原理
- ajax自动检测之中文编码(encodeURIComponent )
- 文本编码
- 文本编码
- 文本编码
- 文本编码
- 文本编码
- 软件建模工具Enterprise Architect
- 怎么办,怎么办?
- dotnet一技巧
- Java动态生成PDF的两个开源工具-iText与FOP
- Cocolog 从 PostgreSQL 迁移到 MySQL 的经验
- 文本编码的自动检测
- 在java实现自定义链表(单向链表)
- Web项目经理手册-组织会议
- 软件开发方法综述
- 画uml图、流程图、软件结构图、类图、顺序图的方法
- Request.QueryString 应用
- catos与IOS 各种设备cisco抓包
- H.264/MPEG-4 Part 10 White Paper 译(一) Overview
- 苹果不再需要乔布斯 已完成其三大使命 (转)