任何字符在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; }
|
请发表评论