public static class Base64.Encoder extends Object
This class implements an encoder for encoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.
Instances of Base64.Encoder
class are safe for use by multiple concurrent threads.
Unless otherwise noted, passing a null
argument to a method of this class will cause a NullPointerException
to be thrown.
Base64.Decoder
public byte[] encode(byte[] src)
Encodes all bytes from the specified byte array into a newly-allocated byte array using the Base64
encoding scheme. The returned byte array is of the length of the resulting bytes.
src
- the byte array to encodepublic int encode(byte[] src, byte[] dst)
Encodes all bytes from the specified byte array using the Base64
encoding scheme, writing the resulting bytes to the given output byte array, starting at offset 0.
It is the responsibility of the invoker of this method to make sure the output byte array dst
has enough space for encoding all bytes from the input byte array. No bytes will be written to the output byte array if the output byte array is not big enough.
src
- the byte array to encodedst
- the output byte arrayIllegalArgumentException
- if dst
does not have enough space for encoding all input bytes.public String encodeToString(byte[] src)
Encodes the specified byte array into a String using the Base64
encoding scheme.
This method first encodes all input bytes into a base64 encoded byte array and then constructs a new String by using the encoded byte array and the ISO-8859-1
charset.
In other words, an invocation of this method has exactly the same effect as invoking new String(encode(src), StandardCharsets.ISO_8859_1)
.
src
- the byte array to encodepublic ByteBuffer encode(ByteBuffer buffer)
Encodes all remaining bytes from the specified byte buffer into a newly-allocated ByteBuffer using the Base64
encoding scheme. Upon return, the source buffer's position will be updated to its limit; its limit will not have been changed. The returned output buffer's position will be zero and its limit will be the number of resulting encoded bytes.
buffer
- the source ByteBuffer to encodepublic OutputStream wrap(OutputStream os)
Wraps an output stream for encoding byte data using the Base64
encoding scheme.
It is recommended to promptly close the returned output stream after use, during which it will flush all possible leftover bytes to the underlying output stream. Closing the returned output stream will close the underlying output stream.
os
- the output stream.public Base64.Encoder withoutPadding()
Returns an encoder instance that encodes equivalently to this one, but without adding any padding character at the end of the encoded byte data.
The encoding scheme of this encoder instance is unaffected by this invocation. The returned encoder instance should be used for non-padding encoding operation.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.