Heim >Java >javaLernprogramm >Wie kodiere und dekodiere ich Base64-Daten in Java mit Apache Commons Codec und Java 8?
Daten in Base64 mit Java kodieren
Das Base64-Kodierungsschema bietet eine Möglichkeit, beliebige Binärdaten in einem ASCII-String-Format darzustellen. Dieser Artikel zeigt, wie man Daten in Base64 mit Java kodiert und geht dabei auf die Herausforderungen ein, die beim Versuch auftreten, die Klasse sun.misc.BASE64Encoder zu verwenden.
Lösung mit Apache Commons Codec
Beim Versuch, die Klasse sun.misc.BASE64Encoder in Eclipse zu verwenden, tritt aufgrund der veralteten Version von Sun ein Fehler auf.* Pakete in Java. Um dieses Problem zu beheben, wird empfohlen, stattdessen die Apache Commons Codec-Bibliothek zu verwenden.
Importieren Sie die richtige Klasse:
import org.apache.commons.codec.binary.Base64;
Verwenden Sie Base64 Klasse wie folgt:
byte[] encodedBytes = Base64.encodeBase64("Test".getBytes()); System.out.println("Encoded Bytes: " + new String(encodedBytes)); byte[] decodedBytes = Base64.decodeBase64(encodedBytes); System.out.println("Decoded Bytes: " + new String(decodedBytes));
Lösung mit Java 8 und höher
In Java 8 und späteren Versionen bietet die Klasse java.util.Base64 eine praktische Möglichkeit, Daten in Base64 zu kodieren und zu dekodieren.
Importieren Sie die Base64-Klasse:
import java.util.Base64;
Verwenden Sie die Base64-Statik Methoden:
byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes()); System.out.println("Encoded Bytes: " + new String(encodedBytes)); byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes); System.out.println("Decoded Bytes: " + new String(decodedBytes));
Zusätzliche Hinweise
Um Daten als String zu kodieren, verwenden Sie die Methode encodeToString() :
String encodedString = Base64.getEncoder().encodeToString("Test".getBytes());
Das obige ist der detaillierte Inhalt vonWie kodiere und dekodiere ich Base64-Daten in Java mit Apache Commons Codec und Java 8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!