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

    Constructors
    Constructor
    Description
     
  • Method Summary

    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

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

  • Method Details

    • fromAscii

      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

      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

      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

      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

      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

      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

      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

      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

      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

      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: