Jak przekonwertować binarną reprezentację ciągu znaków na bajt w Javie?
jak mówi tytuł, jak mam to zrobić? Łatwo przekonwertować z ciągów znaków -> byte -> binarne, ale jak przekonwertować z powrotem? Poniżej znajduje się przykład. Wyjście to: „f” na binarny: 01100110 294984
Czytałem gdzieś, że mógłbym użyć Integer.parseInt, ale oczywiście tak nie jest :( Czy robię coś źle?
Dzięki, :)
public class main{
public static void main(String[] args) {
String s = "f";
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);
System.out.println(Integer.parseInt("01100110", 2));
}
}