-
/ * 0-9 correspond Ascii 48-57
-
*A-Z 65-90
-
*a-z 97-122
-
* Number of 33 to 126 (total of 94) are characters, the first of which is 48 to 57 ten digits 0 ~ 9
*/
/**
* ASCII码hex字符串转String明文
* 每两个字符表示的16进制ASCII码解析成一个明文字符
* @param hex
* @return
*/
public static String hex2Str(String hex) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hex.length() - 1; i += 2) {
String h = hex.substring(i, (i + 2));
int decimal = Integer.parseInt(h, 16);
sb.append((char) decimal);
}
return sb.toString();
}
/**
* String明文转ASCII码hex字符串
* 一个明文字符生成两个字符表示的16进制ASCII码
* @param str
* @return
*/
public static String str2Hex(String str) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
// 这里的第二个参数16表示十六进制
sb.append(Integer.toString(c, 16));
}
return sb.toString();
}
System.out.println(hex2Str("3132302E37382E3134342E3137343A38353939"));
System.out.println(str2Hex("120.78.144.174:8599"));
test: