Class BinaryCodec

java.lang.Object
org.apache.commons.codec.binary.BinaryCodec
All Implemented Interfaces:
BinaryDecoder, BinaryEncoder, Decoder, Encoder

public class BinaryCodec extends Object implements BinaryDecoder, BinaryEncoder
Converts between byte arrays and strings of "0"s and "1"s.

This class is immutable and thread-safe.

TODO: may want to add more bit vector functions like and/or/xor/nand TODO: also might be good to generate boolean[] from byte[] et cetera.
Since:
1.3
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    Constructs a new instance.
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    byte[]
    decode(byte[] ascii)
    Decodes a byte array where each byte represents an ASCII '0' or '1'.
    decode(Object ascii)
    Decodes a byte array where each byte represents an ASCII '0' or '1'.
    byte[]
    encode(byte[] raw)
    Converts an array of raw binary data into an array of ASCII 0 and 1 characters.
    Converts an array of raw binary data into an array of ASCII 0 and 1 chars.
    static byte[]
    fromAscii(byte[] ascii)
    Decodes a byte array where each byte represents an ASCII '0' or '1'.
    static byte[]
    fromAscii(char[] ascii)
    Decodes a char array where each char represents an ASCII '0' or '1'.
    static byte[]
    toAsciiBytes(byte[] raw)
    Converts an array of raw binary data into an array of ASCII 0 and 1 character bytes - each byte is a truncated char.
    static char[]
    toAsciiChars(byte[] raw)
    Converts an array of raw binary data into an array of ASCII 0 and 1 characters.
    static String
    toAsciiString(byte[] raw)
    Converts an array of raw binary data into a String of ASCII 0 and 1 characters.
    byte[]
    Decodes a String where each char of the String represents an ASCII '0' or '1'.

    Methods inherited from class java.lang.Object Link icon

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details Link icon

    • BinaryCodec Link icon

      public BinaryCodec()
      Constructs a new instance.
  • Method Details Link icon

    • fromAscii Link icon

      public static byte[] fromAscii(byte[] ascii)
      Decodes a byte array where each byte represents an ASCII '0' or '1'.
      Parameters:
      ascii - each byte represents an ASCII '0' or '1'
      Returns:
      the raw encoded binary where each bit corresponds to a byte in the byte array argument
    • fromAscii Link icon

      public static byte[] fromAscii(char[] ascii)
      Decodes a char array where each char represents an ASCII '0' or '1'.
      Parameters:
      ascii - each char represents an ASCII '0' or '1'
      Returns:
      the raw encoded binary where each bit corresponds to a char in the char array argument
    • toAsciiBytes Link icon

      public static byte[] toAsciiBytes(byte[] raw)
      Converts an array of raw binary data into an array of ASCII 0 and 1 character bytes - each byte is a truncated char.
      Parameters:
      raw - the raw binary data to convert
      Returns:
      an array of 0 and 1 character bytes for each bit of the argument
      See Also:
    • toAsciiChars Link icon

      public static char[] toAsciiChars(byte[] raw)
      Converts an array of raw binary data into an array of ASCII 0 and 1 characters.
      Parameters:
      raw - the raw binary data to convert
      Returns:
      an array of 0 and 1 characters for each bit of the argument
      See Also:
    • toAsciiString Link icon

      public static String toAsciiString(byte[] raw)
      Converts an array of raw binary data into a String of ASCII 0 and 1 characters.
      Parameters:
      raw - the raw binary data to convert
      Returns:
      a String of 0 and 1 characters representing the binary data
      See Also:
    • decode Link icon

      public byte[] decode(byte[] ascii)
      Decodes a byte array where each byte represents an ASCII '0' or '1'.
      Specified by:
      decode in interface BinaryDecoder
      Parameters:
      ascii - each byte represents an ASCII '0' or '1'
      Returns:
      the raw encoded binary where each bit corresponds to a byte in the byte array argument
      See Also:
    • decode Link icon

      public Object decode(Object ascii) throws DecoderException
      Decodes a byte array where each byte represents an ASCII '0' or '1'.
      Specified by:
      decode in interface Decoder
      Parameters:
      ascii - each byte represents an ASCII '0' or '1'
      Returns:
      the raw encoded binary where each bit corresponds to a byte in the byte array argument
      Throws:
      DecoderException - if argument is not a byte[], char[] or String
      See Also:
    • encode Link icon

      public byte[] encode(byte[] raw)
      Converts an array of raw binary data into an array of ASCII 0 and 1 characters.
      Specified by:
      encode in interface BinaryEncoder
      Parameters:
      raw - the raw binary data to convert
      Returns:
      0 and 1 ASCII character bytes one for each bit of the argument
      See Also:
    • encode Link icon

      public Object encode(Object raw) throws EncoderException
      Converts an array of raw binary data into an array of ASCII 0 and 1 chars.
      Specified by:
      encode in interface Encoder
      Parameters:
      raw - the raw binary data to convert
      Returns:
      0 and 1 ASCII character chars one for each bit of the argument
      Throws:
      EncoderException - if the argument is not a byte[]
      See Also:
    • toByteArray Link icon

      public byte[] toByteArray(String ascii)
      Decodes a String where each char of the String represents an ASCII '0' or '1'.
      Parameters:
      ascii - String of '0' and '1' characters
      Returns:
      the raw encoded binary where each bit corresponds to a byte in the byte array argument
      See Also: