package com.ruoyi.fuzhou.utils.hj1239;
|
|
public class StringToHexUtil {
|
|
public static String convertStringToHex(String str) {
|
|
char[] chars = str.toCharArray();
|
|
StringBuffer hex = new StringBuffer();
|
for (int i = 0; i < chars.length; i++) {
|
hex.append(Integer.toHexString((int) chars[i]));
|
}
|
|
return hex.toString();
|
}
|
|
public static String convertHexToString(String hex) {
|
|
StringBuilder sb = new StringBuilder();
|
StringBuilder temp = new StringBuilder();
|
|
//49204c6f7665204a617661 split into two characters 49, 20, 4c...
|
for (int i = 0; i < hex.length() - 1; i += 2) {
|
|
//grab the hex in pairs
|
String output = hex.substring(i, (i + 2));
|
//convert hex to decimal
|
int decimal = Integer.parseInt(output, 16);
|
//convert the decimal to character
|
sb.append((char) decimal);
|
|
temp.append(decimal);
|
}
|
|
return sb.toString();
|
}
|
|
//504F533838383834 POS88884
|
public static void main(String[] args) {
|
// System.out.println("\n-----ASCII码转换为16进制 -----");
|
// String str = "POS88884";
|
// System.out.println("字符串: " + str);
|
// String hex = strToHex.convertStringToHex(str);
|
// System.out.println("转换为16进制 : " + hex);
|
String hex = "5645574e4256524e323437383439393339";
|
System.out.println("\n***** 16进制转换为ASCII *****");
|
System.out.println("Hex : " + hex);
|
System.out.println("ASCII : " + StringToHexUtil.convertHexToString(hex));
|
}
|
}
|