本文主要是介绍判读文本编码是否为UTF8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
(----转载-----,忘记出处了抱歉)
private bool IsUtf8(byte[] buff)
{
for (int i = 0; i < buff.Length; i++)
{
if ((buff[i] & 0xE0) == 0xC0) // 110x xxxx 10xx xxxx
{
if ((buff[i + 1] & 0x80) != 0x80)
{
return false;
}
}
else if ((buff[i] & 0xF0) == 0xE0) // 1110 xxxx 10xx xxxx 10xx xxxx
{
if ((buff[i + 1] & 0x80) != 0x80 || (buff[i + 2] & 0x80) != 0x80)
{
return false;
}
}
else if ((buff[i] & 0xF8) == 0xF0) // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx
{
if ((buff[i + 1] & 0x80) != 0x80 || (buff[i + 2] & 0x80) != 0x80 || (buff[i + 3] & 0x80) != 0x80)
{
return false;
}
}
}
return true;
}
这篇关于判读文本编码是否为UTF8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!