Search code examples
javabinarybytebithuffman-code

How can I convert a binary string to a byte?


I'm working on Huffman compression.

String binaryString = "01011110";
outFile.write(byte);

I have a String which I want to convert to a byte so that I can write that byte to the file. Does anyone know how I can do this?


Solution

  • You can turn that String into a numerical value using the overloaded parseByte that lets you specify the radix:

    String binaryString = "01011110";
    byte b = Byte.parseByte(binaryString, 2); //this parses the string as a binary number
    outFile.write(b);
    

    The second argument to parseByte() lets you specify the Number system in which the String should be parsed. By default, a radix of 10 is used because us humans usually use the decimal system. The 2 says that the number should be treated as a binary value (which is base 2).