Class BCodec

    • Constructor Summary

      Constructors 
      Constructor Description
      BCodec()
      Constructs a new instance.
      BCodec​(java.lang.String charsetName)
      Constructs a new instance for the selection of a default Charset.
      BCodec​(java.nio.charset.Charset charset)
      Constructs a new instance for the selection of a default Charset.
      BCodec​(java.nio.charset.Charset charset, CodecPolicy decodingPolicy)
      Constructs a new instance for the selection of a default Charset.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object decode​(java.lang.Object value)
      Decodes a Base64 object into its original form.
      java.lang.String decode​(java.lang.String value)
      Decodes a Base64 string into its original form.
      protected byte[] doDecoding​(byte[] bytes)
      Decodes an array of bytes using the defined encoding scheme.
      protected byte[] doEncoding​(byte[] bytes)
      Encodes an array of bytes using the defined encoding scheme.
      java.lang.Object encode​(java.lang.Object value)
      Encodes an object into its Base64 form using the default Charset.
      java.lang.String encode​(java.lang.String strSource)
      Encodes a string into its Base64 form using the default Charset.
      java.lang.String encode​(java.lang.String strSource, java.lang.String sourceCharset)
      Encodes a string into its Base64 form using the specified Charset.
      java.lang.String encode​(java.lang.String strSource, java.nio.charset.Charset sourceCharset)
      Encodes a string into its Base64 form using the specified Charset.
      protected java.lang.String getEncoding()
      Returns the codec name (referred to as encoding in the RFC 1522).
      boolean isStrictDecoding()
      Returns true if decoding behavior is strict.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DECODING_POLICY_DEFAULT

        private static final CodecPolicy DECODING_POLICY_DEFAULT
        The default decoding policy is lenient.
      • decodingPolicy

        private final CodecPolicy decodingPolicy
        If true then decoding should throw an exception for impossible combinations of bits at the end of the byte input. The default is to decode as much of them as possible.
    • Constructor Detail

      • BCodec

        public BCodec()
        Constructs a new instance.
      • BCodec

        public BCodec​(java.nio.charset.Charset charset)
        Constructs a new instance for the selection of a default Charset.
        Parameters:
        charset - the default string Charset to use.
        Since:
        1.7
        See Also:
        Charset
      • BCodec

        public BCodec​(java.nio.charset.Charset charset,
                      CodecPolicy decodingPolicy)
        Constructs a new instance for the selection of a default Charset.
        Parameters:
        charset - the default string Charset to use.
        decodingPolicy - The decoding policy.
        Since:
        1.15
        See Also:
        Charset
      • BCodec

        public BCodec​(java.lang.String charsetName)
        Constructs a new instance for the selection of a default Charset.
        Parameters:
        charsetName - the default Charset to use.
        Throws:
        java.nio.charset.UnsupportedCharsetException - If the named Charset is unavailable.
        Since:
        1.7 throws UnsupportedCharsetException if the named Charset is unavailable
        See Also:
        Charset
    • Method Detail

      • decode

        public java.lang.Object decode​(java.lang.Object value)
                                throws DecoderException
        Decodes a Base64 object into its original form. Escaped characters are converted back to their original representation.
        Specified by:
        decode in interface Decoder
        Parameters:
        value - Base64 object to convert into its original form.
        Returns:
        original object.
        Throws:
        DecoderException - Thrown if the argument is not a String. Thrown if a failure condition is encountered during the decode process.
      • decode

        public java.lang.String decode​(java.lang.String value)
                                throws DecoderException
        Decodes a Base64 string into its original form. Escaped characters are converted back to their original representation.
        Specified by:
        decode in interface StringDecoder
        Parameters:
        value - Base64 string to convert into its original form.
        Returns:
        original string.
        Throws:
        DecoderException - A decoder exception is thrown if a failure condition is encountered during the decode process.
      • doDecoding

        protected byte[] doDecoding​(byte[] bytes)
        Description copied from class: RFC1522Codec
        Decodes an array of bytes using the defined encoding scheme.
        Specified by:
        doDecoding in class RFC1522Codec
        Parameters:
        bytes - Data to be decoded.
        Returns:
        a byte array that contains decoded data.
      • doEncoding

        protected byte[] doEncoding​(byte[] bytes)
        Description copied from class: RFC1522Codec
        Encodes an array of bytes using the defined encoding scheme.
        Specified by:
        doEncoding in class RFC1522Codec
        Parameters:
        bytes - Data to be encoded.
        Returns:
        A byte array containing the encoded data.
      • encode

        public java.lang.Object encode​(java.lang.Object value)
                                throws EncoderException
        Encodes an object into its Base64 form using the default Charset. Unsafe characters are escaped.
        Specified by:
        encode in interface Encoder
        Parameters:
        value - object to convert to Base64 form.
        Returns:
        Base64 object.
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • encode

        public java.lang.String encode​(java.lang.String strSource)
                                throws EncoderException
        Encodes a string into its Base64 form using the default Charset. Unsafe characters are escaped.
        Specified by:
        encode in interface StringEncoder
        Parameters:
        strSource - string to convert to Base64 form.
        Returns:
        Base64 string.
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • encode

        public java.lang.String encode​(java.lang.String strSource,
                                       java.nio.charset.Charset sourceCharset)
                                throws EncoderException
        Encodes a string into its Base64 form using the specified Charset. Unsafe characters are escaped.
        Parameters:
        strSource - string to convert to Base64 form.
        sourceCharset - the Charset for value.
        Returns:
        Base64 string.
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
        Since:
        1.7
      • encode

        public java.lang.String encode​(java.lang.String strSource,
                                       java.lang.String sourceCharset)
                                throws EncoderException
        Encodes a string into its Base64 form using the specified Charset. Unsafe characters are escaped.
        Parameters:
        strSource - string to convert to Base64 form.
        sourceCharset - the Charset for value.
        Returns:
        Base64 string.
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • getEncoding

        protected java.lang.String getEncoding()
        Description copied from class: RFC1522Codec
        Returns the codec name (referred to as encoding in the RFC 1522).
        Specified by:
        getEncoding in class RFC1522Codec
        Returns:
        name of the codec.
      • isStrictDecoding

        public boolean isStrictDecoding()
        Returns true if decoding behavior is strict. Decoding will raise a DecoderException if trailing bits are not part of a valid Base64 encoding.

        The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.

        Returns:
        true if using strict decoding.
        Since:
        1.15