asp.net判断字符串是否是中文的方法

时间:2022-09-24 21:07:05

任何字符在unicode编码中都占用两个字节。
而在一般编码方式中英文字符可以用一个字节表示,中文要用两个。
这样英文字符在unicode编码中多占用了一个没有用的字节,这个没用字节就用0代替。
如果unicode编码中字符的第一个字节是0那他就是英文字符。不是0他就可能是除了英文字符之外的很多种语言的文字,不仅仅是中文。

 

复制代码代码如下:


View Code

 

public bool CheckChinese(string str)
        {
            bool flag = false;
            UnicodeEncoding a = new UnicodeEncoding();
            byte[] b = a.GetBytes(str);
            for(int i=0;i<b.Length;i++)
            {
                i++;
                if (b[i] != 0)
                {
                    flag = true;
                }
                else
                {
                    flag = false;
                }
            }
            return flag;
        }