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()
  • 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

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

      public void encode(@Nullable byte[] aDecodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen, @Nonnull @WillNotClose OutputStream aOS)
      Description copied from interface: IByteArrayStreamEncoder
      Encode (part of) a byte array to an OutputStream.
      Specified by:
      encode 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.
      aOS - The output stream to write to. May not be null and is NOT closed afterwards!
    • getEncoded

      @Nullable @ReturnsMutableCopy public byte[] getEncoded(@Nullable byte[] 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

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

      public void decode(@Nullable byte[] aEncodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen, @Nonnull @WillNotClose OutputStream aOS)
      Description copied from interface: IByteArrayStreamDecoder
      Decode (part of) a byte array.
      Specified by:
      decode 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.
      aOS - The output stream to write to. May not be null and is NOT closed afterwards!
    • getDecoded

      @Nullable @ReturnsMutableCopy public byte[] getDecoded(@Nullable byte[] 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.