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;
}
识别UTF8无BOM
最新推荐文章于 2024-01-02 17:04:02 发布