首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有什么美的方法能识别到TXT文本的编码吗

2012-11-03 
有什么好的方法能识别到TXT文本的编码吗判断TXT的编码类型,用下面的方法,但有些UTF-8的TXT还是验证不了啊b

有什么好的方法能识别到TXT文本的编码吗
判断TXT的编码类型,用下面的方法,但有些UTF-8的TXT还是验证不了啊
bResult = ReadFile(hSrcFile,cBuffer,lSizeOfFile, &dwNumOfBytesRead, NULL);//读取内容
byte bFirst=cBuffer[0];byte bSecond=cBuffer[1];
if((bFirst==0xff)&&(bSecond==0xfe))
{
iCodingType=codingType_Unicode;
}
else if((bFirst==0xfe)&&(bSecond==0xff))
{
iCodingType=codingType_UnicodeBigEndian;
}
else if((bFirst==0xef)&&(bSecond==0xbb))
{
iCodingType=codingType_UTF8;
}
else
{
iCodingType=codingType_ANSI ;
};
请高手指点下


[解决办法]
utf-8的bom是三个字节:EF BB BF
[解决办法]
IsTextUnicode
也能判断一些。
[解决办法]
最标准的途径是检测文本最开头的几个字节,楼主可以以不同编码保存后研究一下各种格式看看.比如 

开头字节 Charset/encoding 
EF BB BF UTF-8 
FE FF UTF-16/UCS-2, little endian 
FF FE UTF-16/UCS-2, big endian 
FF FE 00 00 UTF-32/UCS-4, little endian. 
00 00 FE FF UTF-32/UCS-4, big-endian.

热点排行