Class BinaryCodec
- java.lang.Object
-
- org.apache.commons.codec.binary.BinaryCodec
-
- All Implemented Interfaces:
BinaryDecoder,BinaryEncoder,Decoder,Encoder
public class BinaryCodec extends java.lang.Object implements BinaryDecoder, BinaryEncoder
Converts between byte arrays and strings of "0"s and "1"s.This class is immutable and thread-safe.
- Since:
- 1.3
-
-
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.Objectdecode(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.Objectencode(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.StringtoAsciiString(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'.
-
-
-
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 leadinglength % 8values 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 leadinglength % 8values 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 leadinglength % 8values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.- Specified by:
decodein interfaceBinaryDecoder- 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 leadinglength % 8values are validated but omitted from the decoded result. Null or empty input produces an empty byte array.- Specified by:
decodein interfaceDecoder- 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:
encodein interfaceBinaryEncoder- 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:
encodein interfaceEncoder- 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 leadinglength % 8values 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)
-
-