org.apache.commons.codec.binary

## 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 and Description
    `BinaryCodec()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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[]` | `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 Detail

    - #### BinaryCodec

          public BinaryCodec()

  - ### Method Detail

    - #### 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:
        `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[])`

    - #### 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)`

    - #### 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(Object)`

    - #### 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(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)`

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.