将字节格式化为两个字符的十六进制数

时间:2016-04-02 03:44:39

标签: java

我想将字节格式化为两个字符的十六进制数。在C#中你会这样做:

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

你如何用Java做同样的事情?

2 个答案:

答案 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