Java 将int转换为十六进制字节值

Java 将int转换为十六进制字节值,java,hex,byte,bytearray,Java,Hex,Byte,Bytearray,我想读取NFC标签的分块数据。该命令是一个字节数组,它需要块号 public static byte[] readSingleBlockCmd(int blockNo) { byte[] cmd = new byte[3]; cmd[0] = (byte) 0x02;//flag cmd[1] = (byte) 0x23;//cmd cmd[2]= (byte)blockNo; return cmd; }

我想读取NFC标签的分块数据。该命令是一个字节数组,它需要块号

public static byte[] readSingleBlockCmd(int blockNo) {
        byte[] cmd = new byte[3];
        cmd[0] = (byte) 0x02;//flag
        cmd[1] = (byte) 0x23;//cmd
        cmd[2]= (byte)blockNo;

        return cmd;

    }
  • 如何将int blockNo更改为十六进制值,可以将其转换为byte。我想要的是byte值,而不是byte[]
我已经浏览了以下链接

谢谢

可以使用以下行将整数(十进制)转换为十六进制:

String hex = Integer.toHexString(blockNo);
然后,要将其转换为字节,可以使用

Byte.parseByte(hex,16);
但如果您只想将参数转换为字节:

Byte.parseByte(blockNo);

我想这也行。如果我错了,请纠正我。

这些链接不是回答了你的问题吗?如果没有,请更新您的问题,解释为什么以及您遇到的具体问题。让我们澄清一些问题:“十六进制”是一种编码,专门用于如何将数字写成字符串。0x25是十六进制编码的。但数字本身仍然是37(以10为基数),它是一个int或字节或其他任何形式。你在这里没有使用任何字符串,所以请忘记你问题中的“十六进制”部分,请再问一次,因为我不知道你在想什么。确切地说,它应该什么都不做。这与我提到的最后一行相同。但由于他想要十六进制,我建议他可以使用内置函数将其转换为字符串。