Class Base64Codec

java.lang.Object
com.helger.base.codec.base64.Base64Codec
All Implemented Interfaces:
IByteArrayCodec, IByteArrayDecoder, IByteArrayEncoder, IByteArrayStreamDecoder, IByteArrayStreamEncoder, ICodec<byte[]>, IDecoder<byte[],byte[]>, IEncoder<byte[],byte[]>

public class Base64Codec extends Object implements IByteArrayCodec
Encoder and decoder for Base64
Author:
Philip Helger
  • Constructor Details

    • Base64Codec

      public Base64Codec()
      Constructor.
  • Method Details

    • getMaximumEncodedLength

      public int getMaximumEncodedLength(int nLen)
      Description copied from interface: IByteArrayEncoder
      Get the maximum encoded length based on the provided decoded length. This is purely for performance reasons. The name of the method would be better called "getMaximumEncodedLength".
      Specified by:
      getMaximumEncodedLength in interface IByteArrayEncoder
      Specified by:
      getMaximumEncodedLength in interface IByteArrayStreamEncoder
      Parameters:
      nLen - The decoded length. Always ≥ 0.
      Returns:
      The maximum encoded length. Always ≥ 0.
    • createBase64OutputStream

      @OverrideOnDemand protected @NonNull Base64OutputStream createBase64OutputStream(@WillNotClose @NonNull OutputStream aOS)
    • encode

      public void encode(byte @Nullable [] aDecodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen, @WillNotClose @NonNull OutputStream aOS)
      Encode the passed decoded buffer to Base64 and write it to the output stream.
      Specified by:
      encode in interface IByteArrayStreamEncoder
      Parameters:
      aDecodedBuffer - The buffer to be encoded. May be null.
      nOfs - The offset in the buffer to start encoding from.
      nLen - The number of bytes to encode.
      aOS - The output stream to write the encoded data to. May not be null.
    • getEncoded

      @ReturnsMutableCopy public byte @Nullable [] getEncoded(byte @Nullable [] aDecodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen)
      Description copied from interface: IByteArrayStreamEncoder
      Encode a byte array.
      Specified by:
      getEncoded in interface IByteArrayEncoder
      Specified by:
      getEncoded in interface IByteArrayStreamEncoder
      Parameters:
      aDecodedBuffer - The byte array to be encoded. May be null.
      nOfs - Offset into the byte array to start from.
      nLen - Number of bytes starting from offset to consider.
      Returns:
      The encoded byte array or null if the parameter was null.
    • getMaximumDecodedLength

      public int getMaximumDecodedLength(int nLen)
      Description copied from interface: IByteArrayDecoder
      Get the maximum decoded length based on the provided encoded length. This is purely for performance reasons.
      Specified by:
      getMaximumDecodedLength in interface IByteArrayDecoder
      Parameters:
      nLen - The encoded length. Always ≥ 0.
      Returns:
      The maximum decoded length. Always ≥ 0.
    • createBase64InputStream

      @OverrideOnDemand protected @NonNull Base64InputStream createBase64InputStream(@NonNull NonBlockingByteArrayInputStream aBAIS)
    • decode

      public void decode(byte @Nullable [] aEncodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen, @WillNotClose @NonNull OutputStream aOS)
      Decode the passed Base64 encoded buffer and write the decoded bytes to the output stream.
      Specified by:
      decode in interface IByteArrayStreamDecoder
      Parameters:
      aEncodedBuffer - The Base64 encoded buffer to be decoded. May be null.
      nOfs - The offset in the buffer to start decoding from.
      nLen - The number of bytes to decode.
      aOS - The output stream to write the decoded data to. May not be null.
    • getDecoded

      @ReturnsMutableCopy public byte @Nullable [] getDecoded(byte @Nullable [] aEncodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen)
      Description copied from interface: IByteArrayStreamDecoder
      Decode a byte array.
      Specified by:
      getDecoded in interface IByteArrayDecoder
      Specified by:
      getDecoded in interface IByteArrayStreamDecoder
      Parameters:
      aEncodedBuffer - The byte array to be decoded. May be null.
      nOfs - Offset into the byte array to start from.
      nLen - Number of bytes starting from offset to consider.
      Returns:
      The decoded byte array or null if the parameter was null.