Convertir una matriz de enteros (o cadena) de 1s y 0s binarios a su equivalente alfa en Java

mheavers:

Tengo una serie de 1s y 0s enteros (posiblemente necesita para obtener convertido al bytetipo?). He utilizado [ASCII en línea al generador binario] [1] para obtener el equivalente binario de esta secuencia de letras 6 dígitos:

abcdefdebe ser igual 011000010110001001100011011001000110010101100110en binario.

Mi matriz se configura como int[] curCheckArr = new int[48];y mi cadena es, básicamente, sólo utiliza una StringBuilderpara construir los mismos enteros como cadenas, y llamando toString()- así que no tengo acceso al código como una cadena o una matriz.

He intentado algunos métodos diferentes, todos los cuales bloquean el navegador, incluyendo:

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();

y

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);
}

¿Cómo puedo convertir más eficientemente estos 48 1s y 0s a una secuencia de caracteres alfabéticos de seis dígitos?

Charles Dowbecki:

Suponiendo que cada personaje está representado por, precisamente, uno bytepuede iterar sobre la entrada con Integer.parseInt()(porque byteel valor de la entrada es potencialmente sin firmar):

String input = "011000010110001001100011011001000110010101100110";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.length(); i += 8) {
    int c = Integer.parseInt(input.substring(i, i + 8), 2);
    sb.append((char) c);
}
System.out.println(sb); // abcdef

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=234513&siteId=1
Recomendado
Clasificación