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

  任何字符在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;

  }