base64.decode en Java
- Méthodes d’encodage et de décodage de la classe Base64
- Encodage Base64 en Java
- Décodage Base64 en Java
- Encodage et décodage à l’aide de la bibliothèque de codecs Apache Commons en Java
- Encodage et décodage d’URL en Java
- Encodage et décodage Mime en Java
Ce tutoriel présente ce qu’est base64.decode
en Java, et comment l’utiliser pour décoder les données encodées en Java.
Java a ajouté une nouvelle classe, Base64
, dans sa version Java 8. Cette classe a plusieurs classes imbriquées telles que l’encodeur et le décodeur qui peuvent être utilisées pour coder et décoder des données. Il permet plusieurs fonctionnalités codées telles que le codage de base, le codage URL, le codage MIME et la prise en charge du décodage pour chacune également. Vous pouvez voir ci-dessous les méthodes pour chaque objectif.
Méthodes d’encodage et de décodage de la classe 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()
Dans cet article, nous allons apprendre à coder et décoder les types de codage de base et autres. Commençons par quelques exemples.
Encodage Base64 en Java
Ceci est un exemple d’encodage de base. Java fournit la méthode getEncoder()
pour encoder les données. Voir l’exemple ci-dessous.
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);
}
}
Production:
Message before encoding: This is confidential
Message after encoding: VGhpcyBpcyBjb25maWRlbnRpYWw=
Décodage Base64 en Java
Ici, nous avons utilisé la méthode getDecoder()
pour décoder les données encodées. Cette méthode renvoie le résultat en octets. Donc, pour vérifier, nous avons utilisé un constructeur String
pour récupérer les données dans 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);
}
}
Production:
Message before encoding: This is confidential
Message after encoding: VGhpcyBpcyBjb25maWRlbnRpYWw=
Decoded Message This is confidential
Encodage et décodage à l’aide de la bibliothèque de codecs Apache Commons en Java
C’est une autre solution pour coder et décoder des données en Java. Ici, nous utilisons la librairie codec et sa classe Base64
. Il fournit la méthode encodeBase64()
qui renvoie une chaîne encodée qui peut être décodée davantage en utilisant la méthode decodeBase64()
. Voir l’exemple ci-dessous.
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);
}
}
Production:
Message before encoding: This is confidential
---------After Encoding-----------
VGhpcyBpcyBjb25maWRlbnRpYWw=
---------After Decoding----------
This is confidential
Encodage et décodage d’URL en Java
Comme nous l’avons indiqué au début, Java Base64 peut également être utilisé pour coder et décoder des URL. Ainsi, dans cet exemple, nous avons utilisé la méthode getUrlEncoder()
pour l’encodage et la méthode getUrlDecoder()
pour décoder l’URL. Voir l’exemple ci-dessous.
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);
}
}
Production:
Message before encoding: https://www.delftstack.com/
Message after encoding: aHR0cHM6Ly93d3cuZGVsZnRzdGFjay5jb20v
---------After Decoding----------
https://www.delftstack.com/
Encodage et décodage Mime en Java
Pour coder les données mime, Java fournit la méthode getMimeEncoder()
qui renvoie un octet codé et pour décoder cette méthode Java fournit la méthode getMimeDecoder()
. Voir l’exemple ci-dessous.
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);
}
}
Production:
Message before encoding: This is
confidential
file
Message after encoding: VGhpcyBpcyAKIGNvbmZpZGVudGlhbCAKIGZpbGU=
---------After Decoding----------
This is
confidential
file