您的位置:首页 > 其它

识别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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: