我有一个字节数组。我希望该数组中的每个字节字符串都转换为相应的十六进制值。
Java中是否有将字节数组转换为十六进制的函数?
发布于 2010-05-12 18:12:43
尝试这样做:
byte bv = 10;
String hexString = Integer.toHexString(bv);
处理数组(如果我没理解错的话):
byte[] bytes = {9, 10, 11, 15, 16};
StringBuffer result = new StringBuffer();
for (byte b : bytes) {
result.append(String.format("%02X ", b));
result.append(" "); // delimiter
}
return result.toString();
正如前面提到的多基因修饰符,与Integer.toHexString()
相比,String.format()
是正确的答案(因为它以正确的方式处理负数)。
发布于 2016-12-14 01:33:24
发布于 2010-05-12 18:16:09
如果您想要一个恒定宽度的十六进制表示,即0A
而不是A
,这样您就可以明确地恢复字节,可以尝试format()
StringBuilder result = new StringBuilder();
for (byte bb : byteArray) {
result.append(String.format("%02X", bb));
}
return result.toString();
https://stackoverflow.com/questions/2817752
复制相似问题