java如何把16进制字符串转byte数组?
时间: 2023-10-12 10:11:22 浏览: 97
可以使用Java内置的方法来将16进制字符串转换为byte数组。以下是示例代码:
```
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}
```
使用示例:
```
String hexString = "48656C6C6F20576F726C64";
byte[] byteArray = hexStringToByteArray(hexString);
```
在上面的示例中,hexStringToByteArray() 方法将输入的16进制字符串转换为byte数组并返回。方法中使用了 Character.digit() 方法来获取字符的16进制表示,然后将其组合成一个byte数组。
相关问题
java 16进制字符串转byte数组
可以使用以下代码将Java中的16进制字符串转换为byte数组:
```java
public static byte[] hexStringToByteArray(String hexString) {
int len = hexString.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i+1), 16));
}
return data;
}
```
调用示例:
```java
String hexString = "48656c6c6f20576f726c64";
byte[] byteArray = hexStringToByteArray(hexString);
```
16进制字符串转byte数组
可以使用Java中的方法,例如:
```
String hexString = "7B224E616D65223A224A6F686E227D";
byte[] byteArray = DatatypeConverter.parseHexBinary(hexString);
```
或者使用Apache Commons Codec库中的方法:
```
String hexString = "7B224E616D65223A224A6F686E227D";
byte[] byteArray = Hex.decodeHex(hexString);
```
以上两种方法都能将16进制字符串转换为byte数组。
阅读全文