字符存储结构实际存储的就是字节代码,汉字的unicode编码之后,使用unicode编码存储之后可以对每个字节的字节码进行比较,从而可以按照编码的结构来判断是否是汉字,特殊字符。判断是否是汉字或者是其他某种文字,都是按照这个原理实现。对于C#语言来说,判断方法总结起来有如下三种。
string text = "是不是汉字abc";
char[] textArr = text.ToCharArray();
for (int i = 0; i < textArr.Length; i++)
{
if (textArr[i] >= 0x4e00 && textArr[i] <= 0x9fbb)
{
Console.Write(textArr[i] + "\t是汉字,unicode编码为:");
Console.WriteLine(Convert.ToString(text[i], 16));
}
else
{
Console.WriteLine(textArr[i] + "\t不是汉字");
}
}
@"[\u4e00-\u9fbb]"匹配成功则为汉字,这是利用了正则表达式引擎自带的对unicode字符编码的支持。
string text = "是不是汉字abc";
for (int i = 0; i < text.Length; i++)
{
if ((short)text[i] > 127)
{
Console.Write(text[i] + "是汉字,ASCII编码:" );
Console.WriteLine( Convert.ToString((short)text[i],16));
}
else
Console.WriteLine("不是汉字");
}
原文:http://blog.csdn.net/u010487568/article/details/18286127