字符串生成器(JAVA)的二进制到Ascii故障

字符串生成器(JAVA)的二进制到Ascii故障,java,binary,ascii,stringbuilder,Java,Binary,Ascii,Stringbuilder,我有一个字符串,我想把它改成二进制,但在后面的代码中我想把它改回ascci。我该怎么做?以下是我目前的代码: String word = JOptionPane.showInputDialog("Insert word"); String s = word; byte[] bytes = s.getBytes(); StringBuilder binary = new StringBuilder(); for (byte b : bytes) {

我有一个字符串,我想把它改成二进制,但在后面的代码中我想把它改回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);
String word=JOptionPane.showInputDialog(“插入单词”);
字符串s=单词;
byte[]bytes=s.getBytes();
StringBuilder二进制文件=新的StringBuilder();
for(字节b:字节){
int val=b;
对于(int i=0;i<8;i++){
binary.append((val&128)==0?0:1);

val您可以使用
binary.toString()
StringBuilder
中提取内容,因此:

String text = binary.toString();
接下来,您需要处理二进制内容

首先将字符串拆分为单词:

String[] byts = text.split(" ",-1);
接下来,迭代表示字节的
字符串
s,并将其转换为实字节和字符:

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);
}
int n=byts.length;
StringBuilder结果=新建StringBuilder();
对于(int i=0;idat首先,您应该尝试将其更改为ascii。您没有转换为“二进制”,您正在转换为一个可以读取位的字符串。这是另一回事。好吧,我有点困惑。我正在尝试创建一个加密代码。因此我有3个数组。第一个数组更改为十六进制。这是可行的。第二个数组更改为二进制,这是可行的,但我也在尝试解密我的加密字。我似乎无法将二进制更改回转换为字符串。@CommuSoft如何将其转换为二进制或将二进制读取为字符串?谢谢您的帮助help@Jay:您的问题有点混乱,请编辑您的问题并提供更多详细信息(更具体),并提供一个示例…@CommuSoft我编辑了我的问题现在更清楚了吗??