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
Translates between byte arrays and strings of "0"s and "1"s. 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
Version:
$Id $
Author:
Apache Software Foundation
  • Constructor Summary

    Constructors
    Constructor Description
    BinaryCodec()  
  • Method Summary

    Modifier and Type Method Description
    byte[] decode​(byte[] ascii)
    Decodes a byte array where each byte represents an ascii '0' or '1'.
    Object 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.
    Object encode​(Object raw)
    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 byte 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[] toByteArray​(String ascii)
    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

    • BinaryCodec

      public BinaryCodec()
  • Method Details

    • 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:
      BinaryEncoder.encode(byte[])
    • 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:
      Encoder.encode(java.lang.Object)
    • 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:
      Decoder.decode(java.lang.Object)
    • 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:
      Decoder.decode(Object)
    • 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:
      Decoder.decode(Object)
    • fromAscii

      public static byte[] fromAscii​(char[] ascii)
      Decodes a byte 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
    • 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
    • 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:
      BinaryEncoder.encode(byte[])
    • 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:
      BinaryEncoder.encode(byte[])
    • 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:
      BinaryEncoder.encode(byte[])