可能重复:
Java中的二进制转文本
我正在编写一个可以转换多种内容的程序,但我需要在二进制转换方面寻求帮助。我的文本转二进制代码已经可用,但我不确定如何进行二进制到文本的转换。这是触发转换的按钮的代码:
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);