C#中判断字符是否为中文

来源:互联网 发布:免费的外文文献数据库 编辑:程序博客网 时间:2024/05/16 10:03

在unicode 字符串中,中文的范围是在4E00..9FFF:CJK Unified Ideographs。

通过对字符的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;
 }