Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

文字変換

お疲れ様です。
下記の点に関してどなたかご存知の方
ご指導下さい。

ASCIIコード
10進数 97
16進数    61

を文字に変換して標準入出力System.out.printlnで
'a'と表示させてたいのですが
javascriptだと[fromCharCodeメソッド]で簡単に変換できるのですが
javaだとそれに相当するメソッドが確認できません。

宜しく御願いいたします。

5

回答

92965

閲覧

5件の回答

評価

0

byte value[] = {97};
System.out.println( new String( value ) );

10進数はこれで解決するかと・・・16進数の方は10進数に直して上記で対応できるとおもうけど・・・16進数を直接ってのあったっけ?

評価

0

追記:
ご存知かも知れませんが、16進数から10進数への変換はparseIntでできます。

-------------------------------------------
String s = "61";
int n = Integer.parseInt( s, 16 );
System.out.println( s + "を10進数へ変換:" + n );
------------------------------------------
61を10進数へ変換:97

評価

0

new Stringには、文字コードも指定してあげたほうが良いです。
環境が変わったときに動かなくなったりします。

評価

0

早速のご解答有難う御座います。

byte配列にいれればよいというのは
わかったのですが、現在まだ格闘中です。
実際、97は変数に格納されており下記の処理を
実行すると結果、97が表示されてしまい、
'a'が取得できません。

    String c=String.valueOf(code2);
    byte value[];
    value = new byte[2];
    value=c.getBytes();
    System.out.println( new String( value ) );

度々すみません。宜しく御願いします。

評価

0

ひとつひとつデバッグ出力して、どういう数字が動いているのか、確認してください。
"97"という文字列など必要ないはずです。

ちなみに正解は

byte [] value = {(byte)code2};
System.out.println( new String( value ) );

です。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。