16进制字符串转数组
时间: 2023-08-14 18:13:20 浏览: 88
在Java中,你可以使用以下代码将一个16进制字符串转换为字节数组:
```java
public class HexStringToByteArray {
public static void main(String[] args) {
String hexString = "54657374537472696e67"; // 16进制字符串
byte[] byteArray = hexStringToByteArray(hexString);
System.out.println(Arrays.toString(byteArray));
}
public static byte[] hexStringToByteArray(String hexString) {
int length = hexString.length();
byte[] byteArray = new byte[length / 2];
for (int i = 0; i < length; i += 2) {
byteArray[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i + 1), 16));
}
return byteArray;
}
}
```
在上面的代码中,`hexString`变量是要转换的16进制字符串。`hexStringToByteArray`方法将该字符串转换为字节数组,并返回结果。
请注意,这里的16进制字符串长度必须是偶数,因为每两个字符表示一个字节。如果长度不是偶数,你可以根据实际情况进行处理,比如忽略最后一个字符或者补充0。
运行上面的代码将打印出转换后的字节数组。
阅读全文