一、ASCII字符串转换为16进制字符串
/**
* @param s 字符串
* @return 16进制字符串
* @desc 字符串转换为16进制字符串
*/
public static String toHexString(String s)
{
String str = "";
for (int i = 0; i < s.length(); i++)
{
int ch = (int) s.charAt(i);
String s4 = Integer.toHexString(ch);
str = str + s4;
}
return "0x" + str;//0x表示十六进制
}
二、十六进制编码
转换为ASCII字符串
/**
* @param s
* @return 字符串
* @desc 转换十六进制编码为字符串
*/
public static String toStringHex(String s)
{
if ("0x".equals(s.substring(0, 2)))
{
s = s.substring(2);
}
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++)
{
try
{
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e)
{
e.printStackTrace();
}
}
try
{
s = new String(baKeyword, "utf-8");//UTF-16le:Not
} catch (Exception e1)
{
e1.printStackTrace();
}
return s;
}