我嘗試這樣做:十六進制轉換爲二進制
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"
任何想法?
我嘗試這樣做:十六進制轉換爲二進制
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"
任何想法?
He34llo
不是有效的十六進制數,因此在嘗試將其轉換爲一個時會出錯。
H
,l
和o
是無效的十六進制數字。
只有從0到9的數字和A,B,C,D,E,F是有效的十六進制字符。
有關十六進制數字的更多信息,請參閱Wikipedia: Hexadecimal。
簡而言之:您的要求是不可行的。
說明:
String x = "He34llo";
,因爲它包含無效的數字不能轉換爲十六進制。
十六進制可以有以下幾點:0,1,2,3,4,5,6,7,8,9,A,B,C,d,E和F
在你的情況下無效信爲H,l和O.
0 - 隱蔽字符串 ==>二進制嘗試:(字符串=>六十進制==>十進制==>二進制數)
1 - 轉換字符串到十六進制dec進制在Java:
public String toHex(String arg) {
return String.format("%x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}
2 - 六十進制編號以十進制在Java中
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.
你知道嗎?十六進制是? (以及它是如何表示的) –