我想将字节格式化为两个字符的十六进制数。在C#中你会这样做:
string.Format("{0:X2}", recvBuff[indx])
你如何用Java做同样的事情?
答案 0 :(得分:0)
Integer和Long的toString方法可以占用一个基数,最多36个afaik,所以你选16:
String hex = Integer.toString (recvBuff[indx], 16);
答案 1 :(得分:0)
由于您的问题要求"两个字符",您必须确保值不大于256(否则将打印3个十六进制数字或更多)。如果值小于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