有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java格式字节作为两个字符的十六进制数

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

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

在Java中如何做同样的事情


共 (2) 个答案

  1. # 1 楼答案

    由于您的问题要求使用“两个字符”,因此必须确保值不大于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
    
  2. # 2 楼答案

    整数和Long的toString方法可以取一个基数,最多36 afaik,因此您可以选择16:

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