• ベストアンサー

カタカナ変換

入力されたひらがなをJAVAでカタカナ変換を行いたいのですが、 何か簡単な方法を教えて頂けないでしょうか。 カタカナ変換する関数等があるのでしょうか。 また、JAVAScriptでも、テキストのロストフォーカス時にカタカナ変換 できる関数等を知っていらっしゃるならそちらも教えて頂けると幸せです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • vaio09
  • ベストアンサー率37% (756/2018)
回答No.1

JAVAは知らないので、一般論を書きます。 +57というのがキーワードです。 ■解説 UTCが定める、ひらがな&カタカナの文字コードブロック範囲は次の通り。 ひらがな 3040 ~ 309F(HEX) カタカナ 30A0 ~ 30FF (HEX) 上記は16進表記です。あとは、ひらがなとカタカナの「シフト量」が分かれば良いだけです。そのためには、各文字の文字コードを具体的に見てみましょう。 文字コードは、Windowsに標準で付属する「文字コード表」により確認することができます。 まず、文字コード表は、[スタート] ボタンをクリックし、[すべてのプログラム]、[アクセサリ]、[システム ツール] の順にポイントし、[文字コード表] をクリックします。 そして[フォント]ドロップダウン・リストボックスで「MSゴシック」などを選択してから文字をマウスで選択すれば、その文字コードが画面一番下のステータス・バー部分に表示されます。 たとえば「あ」と「ア」、「ん」と「ン」を見てみましょう。 あ:3042(HEX) ア:30A2(HEX) ん:3093(HEX) ン:30F3(HEX) これにより、次のことが分かります。 「あ」に+87だけシフトすれば「ア」になる 「ん」に+87だけシフトすれば「ン」になる 他の かな文字についても同じです。つまり+87(10進数)これは16進数だと+57となります。 ですので、ひらがな→カタカナ変換は、入力された文字列の文字コードを57(HEX)だけ加算して、それを出力すれば良いワケです。 また、エラー処理として、入力文字・出力文字それぞれがひらがな・カタカナの範囲にあることをチェックする前処理ルーチンも必要でしょう。 ひょっとしたらちゃんと関数があるかもしれませんが、上述した原理を知っていれば、どの言語でも使えます。 以上です。

smiyamoto777
質問者

お礼

ありがとうございます。 参考にさせて頂きます。

その他の回答 (2)

回答No.3

すいません、ソースに直リンクになってますね。 張りなおします。

参考URL:
http://siisise.net/java/lang/
smiyamoto777
質問者

お礼

ありがとございます。 参考にさせて頂きます。

回答No.2

参考URLに文字コードに関することをちょこっと書いてます。 カタカナ変換するクラスのソースとか置いてあるので参考になるかと思います。

参考URL:
http://siisise.net/java/classes/net/siisise/lang/String.java

関連するQ&A

専門家に質問してみよう