方法一 通过对字符的unicode编码进行判断来确定字符是否为中文。 protected bool IsChineseLetter(string input,int index){ int code = 0; int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00~0x9fff)转换成int(chfrom~chend) int chend = Convert.ToInt32("9fff", 16); if (input != "") { code = Char.ConvertToUtf32(input, index); //获得字符串input中指定索引index处字符unicode编码 if (code >= chfrom && code <= chend) { return true; //当code在中文范围内返回true } else { return false ; //当code不在中文范围内返回false } } return false; /// <summary> for (int i = 0; i < words.Length; i++) byte[] sarr = System.Text.Encoding.GetEncoding("gb2312").GetBytes(TmmP); if (sarr.Length == 2)
方法六 /// <summary> /// 给定一个字符串,判断其是否只包含有汉字 /// </summary> /// <param name="testStr"></param> /// <returns></returns> public bool IsOnlyContainsChinese(string testStr) { char[] words = testStr.ToCharArray(); foreach (char word in words) { if ( IsGBCode(word.ToString()) || IsGBKCode(word.ToString()) ) // it is a GB2312 or GBK chinese word { continue; } else { return false; } } return true; } /// <summary> /// <summary> /// <summary> 上面是前辈们留下的,我想偷点懒。 方法七 引用从微软亚洲语言开发包里的Simplified Chinese Pin-Yin Conversion Library 里提取ChnCharInfo.dll后 方法八 引用从微软亚洲语言开发包里的Simplified Chinese Pin-Yin Conversion Library 里提取ChnCharInfo.dll后 |
c#中识别出汉字的方法
2010-10-30 16:46