java 16进制转字节数组
时间: 2023-12-31 16:04:57 浏览: 66
java中String_十六进制String_byte[]之间相互转换
5星 · 资源好评率100%
以下是Java中将16进制字符串转换为字节数组的方法:
```java
/**
* 将16进制字符串转换为字节数组
* @param hex 16进制字符串
* @return 转换后的字节数组
*/
public static byte[] hexToBytes(String hex) {
if (hex == null || hex.length() % 2 != 0) {
return null;
}
byte[] bytes = new byte[hex.length() / 2];
for (int i = 0; i < hex.length(); i += 2) {
bytes[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
+ Character.digit(hex.charAt(i+1), 16));
}
return bytes;
}
```
这个方法将输入的16进制字符串转换为字节数组。它首先检查输入字符串是否为null或长度是否为奇数,如果是,则返回null。然后它创建一个字节数组,其长度为输入字符串长度的一半。接下来,它遍历输入字符串中的每个字符,并将其转换为字节。最后,它将字节添加到字节数组中并返回该数组。
阅读全文