识别UTF8无BOM
2012-09-05 15:18
281 查看
bool IsTextUtf8(char* lpText,int iLen) { int cOctets; unsigned char chr; bool bAllAscii = true; cOctets = 0; for(int i = 0; i < iLen; ++i) { chr = *(lpText + i); if((chr & 0x80) != 0) bAllAscii = false; if(cOctets == 0) { if(chr >= 0x80) { do{ chr <<= 1; cOctets++; } while((chr & 0x80) != 0); cOctets--; if(cOctets == 0) return false; } } else { if((chr & 0xc0) != 0x80) return false; cOctets--; } } if(cOctets > 0) return false; if(bAllAscii) return false; return true; }
相关文章推荐
- c语言如何识别无BOM的UTF8文本
- 让notepad.exe的utf8不添加BOM
- [NLP自然语言处理]计算熵和KL距离,java实现汉字和英文单词的识别,UTF8变长字符读取
- UTF8最好不要带BOM,附许多经典评论
- C#判断文本文件编码是ANSI还是无BOM的UTF8
- 字符编码的历史总结,UTF8的编码规则,文件BOM的由来,笔记
- BOM与文件编码的识别
- windows7下gvim打开UTF8无bom文件中文乱码问题的解决
- [编码] 无BOM的UTF8
- BOM的来源是不可能出现的字符,GB2312双字节高位都是1,Unicode理论的根本缺陷导致UTF8的诞生
- 生成不带签名(BOM)的UTF8格式的XML
- 通过Python脚本批量去除utf8的bom头信息
- UTF8最好不要带BOM,附许多经典评论
- ACSII,GB2312,GBK,GB18030,Unicode,UTF8,UTF16,UTF32,BOM区别与转换——字符编码最全总结
- UTF8带BOM和不带BOM(转载)
- UTF8 BOM
- string转utf8后解决TTS识别中文的问题
- linux下批量删除utf8 bom
- 识别不带BOM(无签名)的UTF-8文件
- string转utf8后解决TTS识别中文的问题