java 16进制转成字符串_java 16进制转成字符串
时间: 2023-07-01 17:18:08 浏览: 60
可以使用Java的内置方法将16进制字符串转换为字符串。具体步骤如下:
1. 将16进制字符串按照两个字符一组分割成字符串数组。
2. 将每个字符串转换为对应的16进制数。
3. 将每两个16进制数合并成一个字节(byte)。
4. 将所有字节合并成一个字节数组(byte[])。
5. 将字节数组转换为字符串。
下面是Java代码实现:
```java
public static String hexToString(String hex) {
String[] hexArray = hex.split("(?<=\\G.{2})");
byte[] bytes = new byte[hexArray.length];
for (int i = 0; i < hexArray.length; i++) {
bytes[i] = (byte) Integer.parseInt(hexArray[i], 16);
}
return new String(bytes, StandardCharsets.UTF_8);
}
```
其中,`hex`是要转换的16进制字符串,返回值是转换后的字符串。
例如,如果要将16进制字符串`48656c6c6f20576f726c64`转换为字符串,可以调用上述方法:
```java
String str = hexToString("48656c6c6f20576f726c64");
System.out.println(str); // Hello World
```
相关问题
Android java 16进制转换为字符串
你可以使用Java的`String`类来将16进制转换为字符串。以下是一个示例代码:
```java
public static String hexToString(String hex) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hex.length(); i+=2) {
String str = hex.substring(i, i+2);
sb.append((char)Integer.parseInt(str, 16));
}
return sb.toString();
}
```
你可以将16进制字符串作为参数传递给`hexToString()`函数。函数将每两个字符转换为一个ASCII字符,并将它们附加到一个`StringBuilder`对象中。最后,将`StringBuilder`对象转换为字符串并返回。
例如,如果你要将字符串"48656C6C6F20576F726C64"转换为"Hello World",则可以调用`hexToString("48656C6C6F20576F726C64")`函数,它将返回"Hello World"字符串。
java 16进制数字转字符串
可以使用 Java 中的 `Integer` 类的 `toHexString()` 方法和 `String` 类的 `valueOf()` 方法来进行 16 进制数字和字符串之间的转换。
将 16 进制数字转换为字符串:
```java
int hexNum = 0x68656c6c6f; // 16 进制数字
String str = String.valueOf(hexNum);
System.out.println(str); // 输出 "180905859591"
```
将字符串转换为 16 进制数字:
```java
String str = "180905859591"; // 字符串
int hexNum = Integer.parseInt(str, 16);
System.out.println(Integer.toHexString(hexNum)); // 输出 "68656c6c6f"
```
注意,这里的 `0x` 表示该数字是一个 16 进制数字。如果是一个普通的十进制数字,就不需要写这个前缀了。