Java将字节数组转换为十六进制字节数组[重复]
Posted
技术标签:
【中文标题】Java将字节数组转换为十六进制字节数组[重复]【英文标题】:Java convert byte array to hex byte array [duplicate] 【发布时间】:2013-04-07 09:53:33 【问题描述】:我有一个字节数组,我想将其值转换为十六进制。
字节数组 = [48, 48, 28, ...]
--->
十六进制字节数组 = [30, 30, 1C, ...]
【问题讨论】:
这是一个解决方案:***.com/questions/9655181/… 只是不返回数组的字符串,而是返回转换后的数组本身 没有“十六进制字节数组”之类的东西。十六进制是您查看、打印、报告的方式。不是一个真正的问题。 为什么这个标签是android? 【参考方案1】:这应该可行。如果byte
没有被隐式转换,也许你必须将其转换为int
。
String[] hexArray = new String[byteArray.length];
for(int index = 0; index < byteArray.length; index++)
hexArray[index] = Integer.toHexString(byteArray[index]);
// maybe you have to convert your byte to int before this can be done
// (cannot check reight now)
【讨论】:
hexadecial 只是表示。一个字节数组的值总是在 0 到 255 之间,并且不会显示为 00 到 FF,除非您将其转换为字符串表示形式,例如使用Integer.toHexString()
方法【参考方案2】:
检查Integer.toHexString 方法。 iT 会将 int 转换为十六进制字符串。所以遍历你的数组并转换每个数字。
【讨论】:
以上是关于Java将字节数组转换为十六进制字节数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章