Base64 Encoding in Fortress
Our example demonstrates base64 encoding and decoding in Java using the java.util.Base64
class.
The string encodes to slightly different values with the standard and URL-safe base64 encoders (trailing =
in standard encoding, and +
vs -
and /
vs _
), but they both decode to the original string as desired.
In Java, we use the java.util.Base64
class for base64 encoding and decoding. This class provides separate encoders and decoders for standard and URL-safe base64 encoding.
The getEncoder()
and getDecoder()
methods return the standard Base64 encoder and decoder, while getUrlEncoder()
and getUrlDecoder()
return the URL-safe versions.
When encoding, we first convert our string to a byte array using getBytes()
. The encodeToString()
method then directly returns the encoded string.
For decoding, we use the decode()
method which returns a byte array. We then convert this byte array back to a string.
Note that in Java, decoding an invalid base64 string throws an IllegalArgumentException
, so it’s good practice to catch this exception when decoding user input or data from an untrusted source.