org.apache.commons.codec.binary

Class 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'.
    • 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.