将十六进制字符串转换为字符串
HI我必须尝试多种方法才能将Hex String
转换为ASCII String
,但不能获得成功。虽然之前我做了同样的事情,但现在我无法实现它。将十六进制字符串转换为字符串
我的代码是
private static String hexToASCII(String hexValue)
{
StringBuilder output = new StringBuilder("");
for (int i = 0; i < hexValue.length(); i += 2)
{
String str = hexValue.substring(i, i + 2);
output.append((char) Integer.parseInt(str, 16));
}
return output.toString();
}
但像b��¡
返回垃圾的价值和我的十六进制字符串是
621c8002008a820101a10a8c0341c2009c0341c2008302010288008a0105
请帮我,如果有人也从同一个问题遭遇并修复它。
感谢....
尝试了这一点
public class HextoAsscii {
public static void main(String args[])
{
String hex="621c8002008a820101a10a8c0341c2009c0341c2008302010288008a0105";
String str="";
str= hexToASCII(hex);
}
private static String hexToASCII(String hexValue)
{
StringBuilder output = new StringBuilder("");
for (int i = 0; i < hexValue.length(); i += 2)
{
if(i+2<=hexValue.length())
{
String str = hexValue.substring(i, i + 2);
output.append(Integer.parseInt(str, 16));
}
}
System.out.println(output.toString());
return output.toString();
}
}
嘿它是返回响应为“982812820138130111611014036519401563651940131212136013815”,而我想字符串 – 2014-10-09 10:50:25
是的,它是整数的Ascii值,我已经从output.append((char)Integer.parseInt(str,16))删除了char。 http://tomeko.net/online_tools/hex_to_ascii.php?lang=en- hex to ascii ...尽管字符存在,但您得到的是正确的Ascii,但您得到了一些特殊符号,即使这些特殊符号代表了ascii代码 - 点击下面的链接以获得想法 - http://www.asciitable.com/ - 请参阅扩展ascii代码。 – 2014-10-09 10:53:20
http://stackoverflow.com/questions/4785654/convert-a-string-of-hex-into-ascii-in- java – Cativail 2014-10-09 10:24:52
Colud发送你在参数 – Palak 2014-10-09 10:25:27
中传递的“hexValue”的值在创建StringBuilder的* Object *的时候删除'“”'检查'hexValue'中是否有正确的值 – kId 2014-10-09 10:26:33