有什么方法可以使用java中的一些内置函数直接将十六进制值转换为其字符串等效形式。
例如:
输入:“68656c70”
输出:“帮助”
我知道如何使用内置函数来做相反的事情,但是对于这个问题,存在吗???
对于一个班轮尝试
String hex = "68656c70";
String text = new String(new BigInteger(hex, 16).toByteArray(), 0);
System.out.println(text);
不,没有这样的内置功能。您必须进行字符串拆分,parseInt(<bits>, 16);
然后手动转换为字符。
没有内置功能,但可以帮助您:
import java.io.IOException;
public class RunT {
public static void main(String[] args) throws IOException {
try {
String str = stringToHex("help");
System.out.println(str);
String str1 = convertHexToString(str);
System.out.println(str1);
} catch (Exception e) {
e.printStackTrace();
}
}
static String stringToHex(String str) {
char[] chars = str.toCharArray();
StringBuffer strBuffer = new StringBuffer();
for (int i = 0; i < chars.length; i++) {
strBuffer.append(Integer.toHexString((int) chars[i]));
}
return strBuffer.toString();
}
public static String convertHexToString(String hex) {
StringBuilder sb = new StringBuilder();
StringBuilder temp = new StringBuilder();
for (int i = 0; i < hex.length() - 1; i += 2) {
String output = hex.substring(i, (i + 2));
int decimal = Integer.parseInt(output, 16);
sb.append((char) decimal);
temp.append(decimal);
}
return sb.toString();
}
}