首页 > 学院 > 开发设计 > 正文

UTF编码检测

2019-11-17 03:20:36
字体:
来源:转载
供稿:网友

UTF编码检测

最近工作上正好需要进行UTF编码检测,自己写了一个,分享给大家,希望可以帮得上有需要用的朋友

        public bool isUtf8(byte[] rawText)        {            bool result = true;            if (rawText == null)            {                return !result;            }            int pos = 0;            while (pos < rawText.Length && result)            {                if ((rawText[pos] & 0x7F) == rawText[pos])                {                    pos++;                }                else                {                    int bitLen = 7;                    while (((rawText[pos] >> bitLen) & 0x01) == 1 && bitLen > 0)                    {                        bitLen--;                    }                    int byteCount = 7 - bitLen;                    if (byteCount > 1 && byteCount < 7)                    {                        for (int i = 1; i < byteCount; ++i)                        {                            if (pos + i >= rawText.Length || (rawText[pos + i] & 0xBF) != rawText[pos + i])                            {                                result = false;                                break;                            }                        }                        pos += byteCount;                    }                    else                    {                        result = false;                    }                }            }            return result;        }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表