在java中将十进制值的字节数组转换为十六进制字符串

时间:2012-12-13 11:36:53

标签: java parsing hex decimal

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

 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;
}

1 个答案:

答案 0 :(得分:2)

对我而言看起来是正确的。八个字节应变成16个十六进制字符。你可以使用

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

但它会产生相同的输出。