byte转java byte_Java byte数组与十六进制字符串互转
时间: 2023-07-04 20:20:01 浏览: 150
将Java byte数组转为十六进制字符串可以使用以下代码:
```java
public static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
```
将十六进制字符串转为Java byte数组可以使用以下代码:
```java
public static byte[] hexToBytes(String hex) {
int len = hex.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
+ Character.digit(hex.charAt(i+1), 16));
}
return data;
}
```
注意,在将byte数组转为十六进制字符串时,需要使用String.format方法将每个byte转为两位的十六进制字符串,并且需要使用StringBuilder拼接字符串。在将十六进制字符串转为byte数组时,需要将每两个十六进制字符转为一个byte,并且需要使用位运算符将其合并。
阅读全文