Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert a binary representation of a string into byte in Java?

as the title says, how do I do it? Its easy to convert from string -> byte -> string binary, But how do I convert back? Below is a example. The output is : 'f' to binary: 01100110 294984

I read somewhere that I could use the Integer.parseInt but clearly that is not the case :( Or am I doing something wrong?

Thanks, :)

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));
    }
}
like image 914
westberg Avatar asked Dec 06 '22 05:12

westberg


1 Answers

You can use Byte.parseByte() with a radix of 2:

byte b = Byte.parseByte(str, 2);

Using your example:

System.out.println(Byte.parseByte("01100110", 2));
102
like image 170
arshajii Avatar answered Feb 07 '23 10:02

arshajii