java16进制字符串转换成byte数组
时间: 2024-05-09 12:20:38 浏览: 152
可以使用Java内置的方法将16进制字符串转换成byte数组:
```
public static byte[] hexStringToByteArray(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;
}
```
使用示例:
```
String hexString = "48656c6c6f20576f726c64";
byte[] byteArray = hexStringToByteArray(hexString);
System.out.println(Arrays.toString(byteArray));
```
输出结果:
```
[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
```
相关问题
16进制字符串str 转byte数组
可以使用以下代码将16进制字符串转换为byte数组:
```java
public static byte[] hexStringToByteArray(String str) {
int len = str.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(str.charAt(i), 16) << 4)
+ Character.digit(str.charAt(i+1), 16));
}
return data;
}
```
其中,将每两个16进制字符转换为一个byte,然后将这些byte存储在一个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);
```
阅读全文