Our first program demonstrates base64 encoding and decoding. Here’s the full source code:
Java provides built-in support for base64 encoding/decoding through the java.util.Base64 class. This class offers both standard and URL-safe base64 encoding and decoding.
To run the program, compile and execute it using the javac and java commands:
The string encodes to slightly different values with the standard and URL-safe base64 encoders (trailing + vs -) but they both decode to the original string as desired.
In Java, we use the Base64.getEncoder() and Base64.getDecoder() for standard base64 encoding and decoding, and Base64.getUrlEncoder() and Base64.getUrlDecoder() for URL-safe base64 encoding and decoding.
Note that in Java, the decoding methods can throw an IllegalArgumentException if the input is not valid base64-encoded data. It’s a good practice to catch this exception when decoding data from an untrusted source.