ひらがなとカナ変換

便利な日本語変換ライブラリー

kanaxs -  java版・javascript版・AC3版がある

JapaneseFunctions  google collectionsのFunctionsベースの変換


アルゴリズム

ひらがな・カタカナの相互変換はライブラリーというより定番アルゴリズムになります。

単純に開始位置をずらすだけで大丈夫です。
私もどこかから引用して、アレンジしただけです。


Javaでのひらがな・カタカナ変換のSnippet by Aki

public static final char KATAKANA_SMALL_A=12449;
public static final char KATAKANA_NN=12531;

public static final char HIRAGANA_SMALL_A=12353;
public static final char KATAKANA_NN=12531;

public static String kanaToGana(String s) {
   StringBuffer sb = new StringBuffer(s);
   for (int i = 0; i < sb.length(); i++) {
       char c = sb.charAt(i);
       if (c >= KATAKANA_SMALL_A && c <= KATAKANA_NN) {
         sb.setCharAt(i, (char)(c - KATAKANA_SMALL_A +HIRAGANA_SMALL_A));
       } 
   }
   return sb.toString();    
 }

public static String ganaToKana(String s) {
  StringBuffer sb = new StringBuffer(s);
  for (int i = 0; i < sb.length(); i++) {
      char c = sb.charAt(i);
      if (c >= HIRAGANA_SMALL_A && c <= HIRAGANA_NN) {
        sb.setCharAt(i, (char)(c - HIRAGANA_SMALL_A + KATAKANA_SMALL_A));
      } 
  }
  return sb.toString();    
}


Comments