我正在寫一個程序,可以轉換多個的東西,但我需要用二進制的轉換提供幫助。我有我的代碼文本到二進制工作,但我不確定二進制到文本。這裏是我的觸發轉換按鈕代碼:
String code = jTextArea5.getText();
if (code == null) {
System.out.println(jTextArea1.getText());
String writing = jTextArea1.getText();
byte[] bytes = writing.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++){
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
}
jTextArea5.setText("" + binary);
}
else
{
System.out.println(jTextArea1.getText());
String binary = jTextArea1.getText();
int ascii = Integer.parseInt(binary, 2);
char character = (char)ascii;
jTextArea5.setText("" + character);
}
如果有人知道如何解決這個代碼工作,那簡直太好了。謝謝!
注 - 下面的這一部分是在它自己的工作,只是沒有任何努力允許將jTextArea5中的二進制轉換爲jTextArea1中的文本。
System.out.println(jTextArea1.getText());
String writing = jTextArea1.getText();
byte[] bytes = writing.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++){
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
}
jTextArea5.setText("" + binary);
您可以給出示例二進制輸入並解釋輸出文本應該用於什麼嗎? –
如果我在jTextArea5中輸入'01110100 01100101 01110011 01110100',我應該在jTextArea1中得到'test'。反之亦然。 –
你需要把它切成8塊。你可以使用StringTokenizer來做到這一點 – case1352