java中判断一个字符是否是中文有哪些方法啊???越多越好

解决方案 »

  1.   

    1、转化为unicode,利用中文字符转化后双字节中首个字节不为0,而英文字符首字节为0.但是这样的话,可能会有别的国家字符也是双字符且首字符非0. 
    2、正则表达式判断。\u4e00到\u9fa5 
    3、 public boolean isChinesrChar(char ch) 

    int v = (int) ch; 
    if(v>=19968 && v <= 171941) 

    return true; 

    else 

    return false; 


    4、 public  boolean isChinese(char c) {   
          
            Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);   
      
            if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS   
      
                    || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS   
      
                    || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A   
      
                    || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION   
      
                    || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION   
      
                    || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {   
      
                return true;   
      
            }   
      
            return false;   
      
        }  
      

  2.   

    String str ="java is 中文";
    if (str.getByte[].length != str.length()  ) {
    存在中文
    } else {
    不存在中文
    }
    String str1 ="java is zhongw";
    if (str1.getByte[].length != str.length() ) {
    存在中文
    } else {
    不存在中文
    }
      

  3.   

    [\u4e00-\u9fa5]+
    正则表达式。