0
文字変換
お疲れ様です。
下記の点に関してどなたかご存知の方
ご指導下さい。
ASCIIコード
10進数 97
16進数 61
を文字に変換して標準入出力System.out.printlnで
'a'と表示させてたいのですが
javascriptだと[fromCharCodeメソッド]で簡単に変換できるのですが
javaだとそれに相当するメソッドが確認できません。
宜しく御願いいたします。
0
お疲れ様です。
下記の点に関してどなたかご存知の方
ご指導下さい。
ASCIIコード
10進数 97
16進数 61
を文字に変換して標準入出力System.out.printlnで
'a'と表示させてたいのですが
javascriptだと[fromCharCodeメソッド]で簡単に変換できるのですが
javaだとそれに相当するメソッドが確認できません。
宜しく御願いいたします。
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ヶ月以上経過しているので、回答を書き込むことはできません。