2016-04-22 2 views
1

バイト値を文字列に変換しようとしています。以下の例をご覧ください。他のロジックをバイトからストリングに変換する

byte b = 'D'; 

String result = Byte.toString(b); 

この場合の出力は「68」です。しかし、出力を "D" [文字列]にしたい。この変換を行うAPIメソッドは何ですか? toStringはこの場合Dのascii値に変換されるため(68)。このよう

+0

なぜ、代わりにcharを使うことができるのですか? – Prabhaker

+0

'String result = new String(新しいバイト[] {b}、Charset.forName(" ASCII "));' – Savior

答えて

2

byte b = 'D'; 
String result = Character.toString((char) b); 
3

Byte.toString methodが数としてbyte値を取り、あなたが"68"を得る理由ですので、String、ないchar値に変換します。

charにキャストします。String.valueOf methodは、Stringの作成に使用できます。

String result = String.valueOf((char) b); 

他の方法:一般的にStringを作成し、その後(byteより'D'のためのより良い形である)charにキャスト関与

String result = new String(new byte[] {b}); 
String result = new String(new char[] {(char) b}); 
String result = new Character((char) b).toString(); 
String result = Character.toString((char) b); 
String result = new StringBuilder().append((char) b).toString(); 
String result = "" + (char) b; 

ほとんどのソリューション。

+0

ok ..はい、今すぐ入手しました! – HookUp

関連する問題