Wind-Eagle

No pain,no gain!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2008-05-04 21:32  Andrew Yin  阅读(663)  评论(2)    收藏  举报

在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;
}