Java 16进制数组转字符串
时间: 2023-11-22 21:49:38 浏览: 60
Java中可以使用`String`类的构造函数将16进制数组转换为字符串。具体实现方法如下所示:
```java
public static String hexToString(byte[] hex) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hex.length; i++) {
sb.append(Character.toString((char) hex[i]));
}
return sb.toString();
}
```
其中,`hex`为16进制数组,`sb`为字符串缓冲区,`Character.toString()`方法将字节转换为字符,最后使用`toString()`方法将字符串缓冲区转换为字符串并返回。
相关问题
用JAVA实现16进制数组字符串转byte数组
下面是一个简单的JAVA代码实现16进制数组字符串转byte数组的方法:
```java
public static byte[] hexStringToByteArray(String hexString) {
int len = hexString.length();
byte[] byteArray = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
byteArray[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i+1), 16));
}
return byteArray;
}
```
使用方法:
```java
String hexString = "48656C6C6F20576F726C64";
byte[] byteArray = hexStringToByteArray(hexString);
```
其中,hexString是16进制数组字符串,byteArray是转换后的byte数组。
16进制字节数组转字符串数组
可以使用以下代码将一个16进制字节数组转换为字符串数组:
```java
public static String[] hexToStringArray(byte[] bytes) {
String[] result = new String[bytes.length / 2];
for (int i = 0; i < bytes.length; i += 2) {
result[i / 2] = new String(new char[]{(char) ((bytes[i] << 8) + (bytes[i + 1] & 0xff))});
}
return result;
}
```
这个方法首先创建一个字符串数组,其大小为输入字节数组的一半(因为每个字节对应一个16进制数,而每个16进制数对应一个字符)。然后,它循环遍历输入字节数组,每次处理两个连续的字节。对于每对字节,它将它们组合成一个char型的值,并使用这个值创建一个新的String对象。最后,它将所有的String对象存储在结果数组中并返回。