我想在文本區域中取一個二進制文件並將其轉換爲十六進制。使用計算器計算時,結果爲「E0AC882AA428B6B8」,但代碼結果爲「30」。從文本區域取二進制文件,然後轉換爲十六進制
String str = txtXOR.getText();
char[] chars = str.toCharArray();
StringBuffer hex = new StringBuffer();
int x = chars.length;
for(int i = 0; i < x; i++){
hex.append(Integer.toHexString((int)chars[i]));
txtXORToHexa.setText(Integer.toHexString((int) chars[i]));
}
有人能指出我出錯的地方嗎?
可能的重複http://stackoverflow.com/questions/5759999/translating-a-string-containing-a-binary-value-to-hex – sunleo
你試圖將每個二進制數字轉換爲它的Hex等效。您必須將整個數字集合作爲整數。 – asgs
可能重複的[轉換十六進制到一個二進制字符串在java中](http://stackoverflow.com/questions/9246326/convert-hex-to-a-binary-string-in-java) – DocMax