base64.decode en Java
- Métodos de codificación y decodificación de la clase Base64
- Codificación Base64 en Java
- Decodificación Base64 en Java
- Codificación y decodificación mediante la biblioteca de códecs Apache Commons en Java
- Codificación y decodificación de URL en Java
- Codificación y decodificación de Mime en Java
Este tutorial presenta qué es base64.decode
en Java y cómo usarlo para decodificar los datos codificados en Java.
Java agregó una nueva clase, Base64
, en su versión Java 8. Esta clase tiene varias clases anidadas, como codificador y decodificador, que se pueden usar para codificar y decodificar datos. También permite varias funciones codificadas, como codificación básica, codificación de URL, codificación MIME y soporte de decodificación para cada una. Puede ver a continuación los métodos para cada propósito.
Métodos de codificación y decodificación de la clase Base64
// Basic Encoding Decoding
public static Base64.Decoder getDecoder() public static Base64
.Encoder getEncoder()
// Url Encoding Decoding
public static Base64.Decoder getUrlDecoder() public static Base64
.Encoder getUrlEncoder()
// Mime Encoding Decoding
public static Base64.Decoder getMimeDecoder() public static Base64.Encoder getMimeEncoder()
En este artículo, aprenderemos a codificar y decodificar codificación básica y de otro tipo. Comencemos con algunos ejemplos.
Codificación Base64 en Java
Este es un ejemplo de codificación básico. Java proporciona el método getEncoder()
para codificar los datos. Vea el ejemplo a continuación.
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Base64.Encoder;
public class SimpleTesting {
public static void main(String[] args) throws UnsupportedEncodingException {
String msg = "This is confidential";
System.out.println("Message before encoding: " + msg);
byte[] bytes = msg.getBytes("UTF-8");
Encoder encoder = Base64.getEncoder();
String encoded = encoder.encodeToString(bytes);
System.out.println("Message after encoding: " + encoded);
}
}
Producción :
Message before encoding: This is confidential
Message after encoding: VGhpcyBpcyBjb25maWRlbnRpYWw=
Decodificación Base64 en Java
Aquí, usamos el método getDecoder()
para decodificar los datos codificados. Este método devuelve el resultado en bytes. Entonces, para verificar, usamos un constructor String
para devolver los datos a String.
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Base64.Encoder;
public class SimpleTesting {
public static void main(String[] args) throws UnsupportedEncodingException {
String msg = "This is confidential";
System.out.println("Message before encoding: " + msg);
byte[] bytes = msg.getBytes("UTF-8");
Encoder encoder = Base64.getEncoder();
String encoded = encoder.encodeToString(bytes);
System.out.println("Message after encoding: " + encoded);
byte[] decoded = Base64.getDecoder().decode(encoded);
String decodedMsg = new String(decoded);
System.out.println("Decoded Message " + decodedMsg);
}
}
Producción :
Message before encoding: This is confidential
Message after encoding: VGhpcyBpcyBjb25maWRlbnRpYWw=
Decoded Message This is confidential
Codificación y decodificación mediante la biblioteca de códecs Apache Commons en Java
Esta es otra solución para codificar y decodificar datos en Java. Aquí, estamos usando la biblioteca de códecs y su clase Base64
. Proporciona el método encodeBase64()
que devuelve una cadena codificada que se puede decodificar aún más mediante el método decodeBase64()
. Vea el ejemplo a continuación.
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.binary.Base64;
public class SimpleTesting {
public static void main(String[] args) throws UnsupportedEncodingException {
String msg = "This is confidential";
System.out.println("Message before encoding: " + msg);
byte[] bytes = msg.getBytes("UTF-8");
String encoding = new String(Base64.encodeBase64(bytes));
System.out.println("---------After Encoding-----------");
System.out.println(encoding);
// Decoding
String decoding = new String(Base64.decodeBase64(encoding));
System.out.println("---------After Decoding----------");
System.out.println(decoding);
}
}
Producción :
Message before encoding: This is confidential
---------After Encoding-----------
VGhpcyBpcyBjb25maWRlbnRpYWw=
---------After Decoding----------
This is confidential
Codificación y decodificación de URL en Java
Como dijimos al principio, Java Base64 también se puede utilizar para codificar y decodificar URL. Entonces, en este ejemplo, usamos el método getUrlEncoder()
para codificar y el método getUrlDecoder()
para decodificar la URL. Vea el ejemplo a continuación.
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Base64.Encoder;
public class SimpleTesting {
public static void main(String[] args) throws UnsupportedEncodingException {
String url = "https://www.delftstack.com/";
System.out.println("Message before encoding: " + url);
byte[] bytes = url.getBytes("UTF-8");
Encoder encoder = Base64.getUrlEncoder();
String encoded = encoder.encodeToString(bytes);
System.out.println("Message after encoding: " + encoded);
// Decoding
String decoding = new String(Base64.getUrlDecoder().decode(encoded));
System.out.println("---------After Decoding----------");
System.out.println(decoding);
}
}
Producción :
Message before encoding: https://www.delftstack.com/
Message after encoding: aHR0cHM6Ly93d3cuZGVsZnRzdGFjay5jb20v
---------After Decoding----------
https://www.delftstack.com/
Codificación y decodificación de Mime en Java
Para codificar datos mime, Java proporciona el método getMimeEncoder()
que devuelve bytes codificados y para decodificar que Java proporciona el método getMimeDecoder()
. Vea el ejemplo a continuación.
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Base64.Encoder;
public class SimpleTesting {
public static void main(String[] args) throws UnsupportedEncodingException {
String msg = "This is \n confidential \n file";
System.out.println("Message before encoding: " + msg);
byte[] bytes = msg.getBytes("UTF-8");
Encoder encoder = Base64.getMimeEncoder();
String encoded = encoder.encodeToString(bytes);
System.out.println("Message after encoding: " + encoded);
// Decoding
String decoding = new String(Base64.getMimeDecoder().decode(encoded));
System.out.println("---------After Decoding----------");
System.out.println(decoding);
}
}
Producción :
Message before encoding: This is
confidential
file
Message after encoding: VGhpcyBpcyAKIGNvbmZpZGVudGlhbCAKIGZpbGU=
---------After Decoding----------
This is
confidential
file