首页 > 代码库 > 判断字符串中是否包含中文
判断字符串中是否包含中文
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;
}
这段代码为什么能实现判断是否为中文!
答:任何字符在unicode编码中都占用两个字节。而在一般编码方式中英文字符可以用一个字节表示,中文要用两个。这样英文字符在unicode编码中多占用了一个没有用的字节,这个没用字节就用0代替,如果unicode编码中字符的第一个字节是0那他就是英文字符。不是0他就可能是除了英文字符之外的很多种语言的文字,不仅仅是中文。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。