base64.decode in Java
- Kodierungs- und Dekodierungsmethoden der Base64-Klasse
- Base64-Kodierung in Java
- Base64-Dekodierung in Java
- Kodierung und Dekodierung mit der Apache Commons Codec Library in Java
- Kodierung und Dekodierung von URLs in Java
- Mime-Kodierung und -Dekodierung in Java
Dieses Tutorial stellt vor, was base64.decode
in Java ist und wie man es verwendet, um die kodierten Daten in Java zu dekodieren.
Java hat in seiner Java 8-Version eine neue Klasse, Base64
, hinzugefügt. Diese Klasse verfügt über mehrere verschachtelte Klassen wie Encoder und Decoder, die zum Kodieren und Dekodieren von Daten verwendet werden können. Es ermöglicht mehrere codierte Funktionen wie grundlegende Codierung, URL-Codierung, MIME-Codierung und Decodierungsunterstützung für jede. Unten sehen Sie die Methoden für jeden Zweck.
Kodierungs- und Dekodierungsmethoden der Base64-Klasse
// 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()
In diesem Artikel werden wir lernen, grundlegende und andere Arten der Codierung zu codieren und zu decodieren. Beginnen wir mit einigen Beispielen.
Base64-Kodierung in Java
Dies ist ein einfaches Codierungsbeispiel. Java bietet die Methode getEncoder()
, um die Daten zu kodieren. Siehe das Beispiel unten.
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);
}
}
Ausgabe:
Message before encoding: This is confidential
Message after encoding: VGhpcyBpcyBjb25maWRlbnRpYWw=
Base64-Dekodierung in Java
Hier haben wir die Methode getDecoder()
verwendet, um die kodierten Daten zu dekodieren. Diese Methode gibt das Ergebnis in Bytes zurück. Um dies zu überprüfen, haben wir einen String
-Konstruktor verwendet, um die Daten in String zurückzubekommen.
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);
}
}
Ausgabe:
Message before encoding: This is confidential
Message after encoding: VGhpcyBpcyBjb25maWRlbnRpYWw=
Decoded Message This is confidential
Kodierung und Dekodierung mit der Apache Commons Codec Library in Java
Dies ist eine weitere Lösung zum Kodieren und Dekodieren von Daten in Java. Hier verwenden wir die Codec-Bibliothek und ihre Base64
-Klasse. Es stellt die Methode encodeBase64()
zur Verfügung, die einen verschlüsselten String zurückgibt, der mit der Methode decodeBase64()
weiter dekodiert werden kann. Siehe das Beispiel unten.
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);
}
}
Ausgabe:
Message before encoding: This is confidential
---------After Encoding-----------
VGhpcyBpcyBjb25maWRlbnRpYWw=
---------After Decoding----------
This is confidential
Kodierung und Dekodierung von URLs in Java
Wie bereits zu Beginn erwähnt, kann Java Base64 auch zum Kodieren und Dekodieren von URLs verwendet werden. In diesem Beispiel haben wir die Methode getUrlEncoder()
zum Kodieren und die Methode getUrlDecoder()
zum Dekodieren der URL verwendet. Siehe das Beispiel unten.
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);
}
}
Ausgabe:
Message before encoding: https://www.delftstack.com/
Message after encoding: aHR0cHM6Ly93d3cuZGVsZnRzdGFjay5jb20v
---------After Decoding----------
https://www.delftstack.com/
Mime-Kodierung und -Dekodierung in Java
Um Mime-Daten zu codieren, stellt Java die Methode getMimeEncoder()
bereit, die codierte Bytes zurückgibt, und um diese zu decodieren, stellt Java die Methode getMimeDecoder()
bereit. Siehe das Beispiel unten.
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);
}
}
Ausgabe:
Message before encoding: This is
confidential
file
Message after encoding: VGhpcyBpcyAKIGNvbmZpZGVudGlhbCAKIGZpbGU=
---------After Decoding----------
This is
confidential
file