1文字が中国語文字かどうかを判断する

810 ワード

開発では、1つの文字が中国語の文字かどうかを判断する必要があることがよくあります.以下、判断関数を与えて、みんなが使いやすいようにします.
      /**
       *          
       * @param c
       * @return
       */
      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;
      }