Просто некоторые логические исправления:
Здесь три шага
- Превращение двоичного набора в целое число
- Тогда целое число в символе
- Затем объедините строку, которую вы строите
К счастью parseInt
принимает аргумент radix
для базы. Таким образом, если вы либо нарезаете строку в (предположительно) массив строк длиной 8, или , обращаетесь к необходимой подстроке, все что вам нужно сделать, это (char)Integer.parseInt(s, 2)
и объединить.
String s2 = "";
char nextChar;
for(int i = 0; i <= s.length()-8; i += 9) //this is a little tricky. we want [0, 7], [9, 16], etc (increment index by 9 if bytes are space-delimited)
{
nextChar = (char)Integer.parseInt(s.substring(i, i+8), 2);
s2 += nextChar;
}