Class BinaryCodec

    • Constructor Summary

      Constructors 
      Constructor Description
      BinaryCodec()
      Constructs a new instance.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] decode​(byte[] ascii)
      Decodes a byte array where each byte represents an ASCII '0' or '1'.
      java.lang.Object decode​(java.lang.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.
      java.lang.Object encode​(java.lang.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 java.lang.String toAsciiString​(byte[] raw)
      Converts an array of raw binary data into a String of ASCII 0 and 1 characters.
      byte[] toByteArray​(java.lang.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()
        Constructs a new instance.
    • Method Detail

      • fromAscii

        public static byte[] fromAscii​(byte[] ascii)
        Decodes a byte array where each byte represents an ASCII '0' or '1'.

        All input must consist of ASCII '0' and '1' values. If the input length is not a multiple of 8, the leading length % 8 values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.

        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:
        java.lang.IllegalArgumentException - Thrown if the input contains a value other than ASCII '0' or '1'.
      • fromAscii

        public static byte[] fromAscii​(char[] ascii)
        Decodes a char array where each char represents an ASCII '0' or '1'.

        All input must consist of ASCII '0' and '1' values. If the input length is not a multiple of 8, the leading length % 8 values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.

        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.
        Throws:
        java.lang.IllegalArgumentException - Thrown if the input contains a value other than ASCII '0' or '1'.
      • 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 java.lang.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'.

        All input must consist of ASCII '0' and '1' values. If the input length is not a multiple of 8, the leading length % 8 values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.

        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.
        Throws:
        java.lang.IllegalArgumentException - Thrown if the input contains a value other than ASCII '0' or '1'.
        See Also:
        Decoder.decode(Object)
      • decode

        public java.lang.Object decode​(java.lang.Object ascii)
                                throws DecoderException
        Decodes a byte array where each byte represents an ASCII '0' or '1'.

        All input must consist of ASCII '0' and '1' values. If the input length is not a multiple of 8, the leading length % 8 values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.

        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:
        java.lang.IllegalArgumentException - Thrown if the input contains a value other than ASCII '0' or '1'.
        DecoderException - Thrown if the 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 java.lang.Object encode​(java.lang.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 - Thrown if the argument is not a byte[].
        See Also:
        Encoder.encode(Object)
      • toByteArray

        public byte[] toByteArray​(java.lang.String ascii)
        Decodes a String where each char of the String represents an ASCII '0' or '1'.

        All input must consist of ASCII '0' and '1' values. If the input length is not a multiple of 8, the leading length % 8 values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.

        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.
        Throws:
        java.lang.IllegalArgumentException - Thrown if the input contains a value other than ASCII '0' or '1'.
        See Also:
        Decoder.decode(Object)