字符串等价

时间:2014-03-12 21:13:28

标签: java string hex

String s="00110001"是一个包含十六进制数31的字符串。我想知道的是如何将其转换为字符串String a="1"。 (由于1的ASCII代码为49,而hexa中的4931。)

2 个答案:

答案 0 :(得分:3)

试试这个:

String hex = "";
for(int i=0; i<=s.length() - 4; i+=4) {
    hex += Integer.parseInt(s.substring(i, i+4), 2) + "";
}
System.out.println((char)Integer.parseInt(hex, 16));

答案 1 :(得分:2)

首先使用Integer.parseInt(string,radix)将数字转换为十进制。

int dec = Integer.parseInt(s, 2); //This will give you the value 49
System.out.println((char)dec);

此外,您的问题中的更正:00110001是十进制的31

相关问题