我有一个字符串,我想将其更改为二进制,但后来在代码中我希望将其更改为ascci。我该怎么办?到目前为止,这是我的代码:
String word = JOptionPane.showInputDialog("Insert word");
String s = word;
byte[] bytes = s.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(' ');
}
System.out.println("'" + s + "' to binary: " + binary);
那我怎么得到二元&#39;回到String?显然没有输入System.out.println(s);
由于 杰
答案 0 :(得分:0)
您可以使用StringBuilder
从binary.toString()
中提取内容,以便:
String text = binary.toString();
接下来,您需要处理二进制内容。
首先将字符串拆分为单词:
String[] byts = text.split(" ",-1);
接下来,迭代表示字节的String
并将它们转换为实际字节和字符:
int n = byts.length;
StringBuilder result = new StringBuilder();
for(int i = 0; i < n; i++) {
byte dat = 0;
String byi = byts[i];
for (int j = 0; j < byi.length(); j++){
char byij = byi.charAt(j);
dat <<= 0x01;
if(byij != '0') {
dat |= 0x01;
}
}
result.append((char) dat);
}
有关工作示例,请参阅此jDoodle ...