我尝试做:
String x = "He34llo";
int i = Integer.parseInt(x, 16);
String xx = Integer.toBinaryString(i);
但我得到exception in thread "main" java.lang.NumberFormatException: For input string: "He34llo"
答案 0 :(得分:1)
H
,l
和o
不是有效的十六进制数字。
答案 1 :(得分:1)
只有0到9之间的数字以及A,B,C,D,E,F是有效的十六进制字符。
有关十六进制数字的详细信息,请参阅Wikipedia: Hexadecimal。
答案 2 :(得分:1)
简而言之:您的要求是不可能的。
说明:
String x = "He34llo";
无法转换为十六进制,因为它包含无效数字。
十六进制可以有以下内容:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E和F.
在您的情况下,无效字母为H,l和O。
答案 3 :(得分:0)
He34llo
不是有效的十六进制数,因此在尝试将其转换为1时会出错。
答案 4 :(得分:0)
0 - 隐藏字符串 ==> 二进制试试这个:( String => Hexa decimal ==> Decimal ==> Binary number )
1 - 在java中将字符串转换为 Hexa十进制:
public String toHex(String arg) {
return String.format("%x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}
2 - 在Java中将 Hexa十进制数字转换为十进制
int decimal = Integer.parseInt(hexadecimal, 16);
3 - 在Java中将十进制数字转换为二进制
String binary = Integer.toBinaryString(decimal);
PS:十六进制可以有以下内容:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E和F. < / p>