У меня есть массив целых 1 и 0 (возможно, нужно преобразовать в byte
тип?). Я использовал [онлайн ASCII для двоичного генератора] [1], чтобы получить эквивалентный двоичный файл из этой последовательности из 6 цифр:
abcdef
должно быть равно 011000010110001001100011011001000110010101100110
в двоичном формате.
Мой массив настроен как int[] curCheckArr = new int[48];
, и моя строка в основном просто использует StringBuilder
для создания тех же самых строк, что и строки, и вызывает toString()
- так что у меня есть доступ к коду в виде строки или массива .
Я пробовал несколько разных методов, каждый из которых вызывает сбой браузера, в том числе:
StringBuilder curCheckAlphaSB = new StringBuilder(); // Some place to store the chars
Arrays.stream( // Create a Stream
curCheckString.split("(?<=\\G.{8})") // Splits the input string into 8-char-sections (Since a char has 8 bits = 1 byte)
).forEach(s -> // Go through each 8-char-section...
curCheckAlphaSB.append((char) Integer.parseInt(s, 2)) // ...and turn it into an int and then to a char
);
String curAlpha = curCheckAlphaSB.toString();
и
String curAlpha = "";
for (int b = 0; b < curCheckString.length()/8; b++) {
int a = Integer.parseInt(curAlpha.substring(8*b,(b+1)*8),2);
curAlpha += (char)(a);
}
Как наиболее эффективно преобразовать эти 48 1 и 0 в шестизначную последовательность букв?