base64.decode in Java

Mohammad Irfan 12 Oktober 2023
  1. Kodierungs- und Dekodierungsmethoden der Base64-Klasse
  2. Base64-Kodierung in Java
  3. Base64-Dekodierung in Java
  4. Kodierung und Dekodierung mit der Apache Commons Codec Library in Java
  5. Kodierung und Dekodierung von URLs in Java
  6. Mime-Kodierung und -Dekodierung in Java
base64.decode 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