Java Base64 URL Encode and Decode Example

In this source code example, we show you how to encode (Base64) and decode URLs in Java.

Java Base64 URL Encode and Decode Example

import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

class Base64DecodeExample {

    private static String base64UrlDecode(String value) {
        try {
            byte[] decodedValue = Base64.getUrlDecoder().decode(value);
            return new String(decodedValue, StandardCharsets.UTF_8.toString());
        } catch(UnsupportedEncodingException ex) {
            throw new RuntimeException(ex);
        }
    }

    private static String base64UrlEncode(String value) {
        try {
            return Base64.getUrlEncoder()
                    .encodeToString(value.getBytes(StandardCharsets.UTF_8.toString()));
        } catch(UnsupportedEncodingException ex) {
            throw new RuntimeException(ex);
        }
    }

    public static void main(String[] args) {
        String data = "https://www.sourcecodeexamples.net/search?q=java";

        String encodedData = base64UrlEncode(data);

        System.out.println("encodedData -> " + encodedData);

        String decodedData = base64UrlDecode(encodedData);

        System.out.println("decodedData -> " + decodedData);
    }
}

Output:

encodedData -> aHR0cHM6Ly93d3cuc291cmNlY29kZWV4YW1wbGVzLm5ldC9zZWFyY2g_cT1qYXZh
decodedData -> https://www.sourcecodeexamples.net/search?q=java