2016-04-02 10 views
0

2桁の16進数としてバイトをフォーマットしたいと思います。 C#では次のようにします:バイトを2桁の16進数でフォーマットします

string.Format("{0:X2}", recvBuff[indx]) 

Javaでどのように同じことをしますか?

+1

答えはおそらく 'String.Formatのある実行する場合にも、ゼロでパッドする必要があります( "%02X" を、recvBuff [INDX])'意見はまだ歓迎されています。 –

+0

あなたが推測しているのであれば、試してみるのはなぜですか? –

+0

もちろん、私は試しました。 Javaでこれを行う正しい方法があるかどうかを知りたいだけです。 –

答えて

0

あなたは16を選ぶだろうように、整数とロングののtoStringメソッドは、私の知る限りで、最大36のベースを取ることができます。

String hex = Integer.toString (recvBuff[indx], 16); 
0

あなたの質問には「2つの文字」を要求しているので、あなたがする必要があります値が256より大きくないことを確認します(それ以外の場合は3桁の16進数を出力します)。値未満16

public class HexTwoChars 
{ 
    static public void main(String[] args) 
    { 
     int values[] = { 1, 100, 10000 }; 
     for (int v: values) 
      System.out.println(String.format("%02x", v % 256)); 
    } 
} 

がこのプログラムにプリント

01 
64 
10 
関連する問題