如何在java中将位数组转换为包含8位的十六进制

时间:2013-08-26 10:24:29

标签: java bytearray bit-manipulation hexdump

我使用

将二进制数组转换为十六进制
    StringBuilder sb = new StringBuilder();
    for (byte b : bytes) 
    {
        sb.append(String.format("%02X ", b));
    }
    System.out.println(sb.toString());

但是它给了我各自位的十六进制代码。

我想要包含8位的十六进制。请帮帮我。

1 个答案:

答案 0 :(得分:1)

你想要这样的东西 -

BigInteger bInt = new BigInteger(1, bytes);
String hexString = String.format("%0" + (bytes.length << 1) + "X", bInt);

对于小写十六进制数字,您可以使用 -

String hexString = String.format("%0" + (bytes.length << 1) + "x", bInt);