• ベストアンサー

日本語文字列をユニコードの列に変換して表示

する方法を教えてください。 例えば 送信→\u9001\u4fe1 という風に出す方法です。 Javaプログラムでもかまいません。 よろしくお願いします。

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

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

よく解りませんが。直感的に作っていました。 以下のようで、でも、いいのかな? 「送信」を 90 01 4f e1 の文字列に変換してました。 String sen ="送信"; byte [] ss=null; try { ss = sen.getBytes("UTF-16"); } catch (UnsupportedEncodingException ex) { Logger.getLogger(goo_an.class.getName()).log(Level.SEVERE, null, ex); } for(int i=0;i<ss.length;++i){ Byte b = new Byte(ss[i]); String UTF16 = new String("0"+Integer.toHexString(b.intValue())); String dsp =UTF16.substring(UTF16.length()-2, UTF16.length()); System.out.println(dsp); } 実行結果 debug: fe ff 90 01 4f e1 構築成功 (合計時間: 11 秒) こんな感じでも、いいのかな。?? いろいろテストしていないので、自分の欲しい文字列を 得るためには、改良してみてください。

reiman
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

由緒正しく「native2ascii」とか。要JDK。

reiman
質問者

補足

native2asciiはどこにあるのでしょうか? Fedora-Javaを使っています。 # java -version java version "1.6.0_0" IcedTea6 1.4 (fedora-15.b14.fc10-i386) Runtime Environment (build 1.6.0_0-b14) OpenJDK Client VM (build 14.0-b08, mixed mode) #

関連するQ&A

専門家に質問してみよう