Codificación y Decodificación en Base 64 en Java

Te mostramos como hacer Codificación y Decodificación en Base 64 en Java con las nuevas APIs de Java 8. ¿Para qué puedes necesitar de esto? pues hacer que información binaria esté representada en Base 64 es especialmente útil cuando se requiere enviar o almacenar información como texto. Por ejemplo cuando un Servicio Web recibe como parámetro un archivo binario, usualmente se envía y se recibe por el servicio como un Cadena o String para poder formar una petición SOAP válida, aunque no es la única situación donde se puede requerir de esta conversión.

» Más ejemplos de Java

En Java 8 finalmente se han agregado capacidades de Base64 a la API estándar, a través de la clase de utilidad java.util.Base64, ya que esto se resolvía con librerías de terceros y ahora se ha integrado como parte del paquete de utilidades estándar de Java.

El siguiente bloque de código muestra como hacerlo:

import java.util.Base64;

public class EjemploCodificacionDecodificacionBase64 {
    public static void main(String args[]){
        String entradaOriginal = "Texto de prueba.";
        String cadenaCodificada = Base64.getEncoder().encodeToString(entradaOriginal.getBytes());
        
        System.out.println("codificado: " + cadenaCodificada);
        
        byte[] bytesDecodificados = Base64.getDecoder().decode(cadenaCodificada);
        String cadenaDecodificada = new String(bytesDecodificados);
        
        System.out.println("decodificado: " + cadenaDecodificada);
    }
}

En la primera parte pasarás a base 64 una cadena con la ayuda del método encodeToString. La cadena codificada en la variable «cadenaCodificada» se decodifica con el método decode.

Si se ejecuta el código obtendrás algo como lo siguiente:

Codificación y decodificación de Base64 en Java

Es bastante fácil hacer Codificación y Decodificación en Base 64 en Java, esperamos que este ejemplo te sea útil.

Nota: los ejemplos son editados y ejecutados en NetBeans.

Documentación oficial: https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html

Más información en inglés: https://geekole.com/base64-encoding-and-decoding-in-java/