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