Java 如何将长二进制字符串转换为字符

Java 如何将长二进制字符串转换为字符,java,Java,我有二进制字符串xl和xr xl = "11110101011100001001011010011100" xr = "01100101111100011000011000101011" 我想添加xl和xr并将此二进制字符串转换为8个字符(1个字符=8位)。你能帮我得到这个密码吗 String Chippertext = ""; char nextChar; for(int i = 0; i <= chippertext.length()-8; i += 8) //this is

我有二进制字符串
xl
xr

xl = "11110101011100001001011010011100"
xr = "01100101111100011000011000101011"
我想添加
xl
xr
并将此二进制字符串转换为8个字符(1个字符=8位)。你能帮我得到这个密码吗

String Chippertext = "";   
char nextChar;

for(int i = 0; i <= chippertext.length()-8; i += 8) //this is a little tricky.  we want [0, 7], [9, 16], etc
{
    nextChar = (char)Integer.parseInt(chippertext.substring(i, i+8), 2);
    Chippertext += nextChar;
}
Thasil.setText(Chippertext);
String Chippertext=”“;
char nextChar;

对于(int i=0;i,不能使用字符来表示字节数组的数据,因为有些值与“字符”不同


最好的解决方案是将每个字节值打印为十进制、十六进制或二进制值。

“字符与ascii表上的字符不相同”-您提供了什么输入,您期望得到什么,您得到了什么?您查看了哪个“ascii表”?(我强烈建议不要使用变量
Chippertext
Chippertext
顺便说一句…)第一个字符串以“11110101”开头的事实表明它实际上不是ASCII…(ASCII是7位)。如果这是任意二进制数据,这是一种非常糟糕的将其转换为文本的方法。@moffeltje:没有单一的编码“扩展ASCII”。有很多编码都是ASCII的8位扩展,但您需要准确地指定是哪一种编码……即使如此,这与ASCII本身也不一样。@JonSkeet gotcha,谢谢您,先生。