方法如下:
/* *
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
*来转换成16进制字符串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("")
if (src == null || src.length <= 0) {
return null
}
for (int i = 0i <src.lengthi++) {
int v = src[i] &0xFF
String hv = Integer.toHexString(v)
if (hv.length() <2) {
stringBuilder.append(0)
}
stringBuilder.append(hv)
}
return stringBuilder.toString()
}
此方法能将byte[]转化成16进制字符串,
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
java中将4字节的byte数组转成一个int值的工具方法如下: \x0d\x0a/** \x0d\x0a* @param byte[]\x0d\x0a* @return int\x0d\x0a*/ \x0d\x0apublic static int byteArrayToInt(byte[] b){ \x0d\x0abyte[] a = new byte[4] \x0d\x0aint i = a.length - 1,j = b.length - 1 \x0d\x0afor (i >= 0 i--,j--) {//从b的尾部(即int值的低位)开始copy数据 \x0d\x0aif(j >= 0) \x0d\x0aa[i] = b[j] \x0d\x0aelse \x0d\x0aa[i] = 0//如果b.length不足4,则将高位补0 \x0d\x0a } \x0d\x0aint v0 = (a[0] &0xff) 回答于 2022-11-16