1

我是 Java 新手。我想将十进制值的字节数组转换为十六进制字符串。我的输入字节数组是 [0, 0, 0, 0, 0, 0, 1, -28]。我得到 00000000000001e4 而不是 0000001e4。请帮我解决这个问题

 public static String ConvetToHex(byte[] decValue) 
{

    String value = "";
    for(int i = 0;i<decValue.length;i++)
    {
         value = value+ Integer.toString((decValue[i] & 0xff) + 0x100, 16).substring(1);
    }
    return value;
}
4

1 回答 1

2

在我看来是正确的。八个字节应该变成 16 个十六进制字符。您可以使用

return new BigInteger(1, decValue).toString(16);

但它会产生相同的输出。

于 2012-12-13T11:39:07.267 回答