2桁の16進数としてバイトをフォーマットしたいと思います。 C#では次のようにします:バイトを2桁の16進数でフォーマットします
string.Format("{0:X2}", recvBuff[indx])
Javaでどのように同じことをしますか?
2桁の16進数としてバイトをフォーマットしたいと思います。 C#では次のようにします:バイトを2桁の16進数でフォーマットします
string.Format("{0:X2}", recvBuff[indx])
Javaでどのように同じことをしますか?
あなたは16を選ぶだろうように、整数とロングののtoStringメソッドは、私の知る限りで、最大36のベースを取ることができます。
String hex = Integer.toString (recvBuff[indx], 16);
あなたの質問には「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
答えはおそらく 'String.Formatのある実行する場合にも、ゼロでパッドする必要があります( "%02X" を、recvBuff [INDX])'意見はまだ歓迎されています。 –
あなたが推測しているのであれば、試してみるのはなぜですか? –
もちろん、私は試しました。 Javaでこれを行う正しい方法があるかどうかを知りたいだけです。 –