当前位置: 移动技术网 > IT编程>开发语言>c# > utf8编码检测方法分享

utf8编码检测方法分享

2019年07月18日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:public bool isutf8(byte[] rawtext)       

复制代码 代码如下:

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;
        }

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网