Heim  >  Artikel  >  Java  >  So kodieren und dekodieren Sie mit Base64-Funktionen in Java

So kodieren und dekodieren Sie mit Base64-Funktionen in Java

WBOY
WBOYOriginal
2023-06-26 14:24:583118Durchsuche

Bei der Java-Programmierung ist es häufig erforderlich, Binärdaten zur Übertragung in ein Textformat zu konvertieren, und die Base64-Codierung ist eine häufig verwendete Konvertierungsmethode.

Base64 wandelt drei Byte Daten in vier Byte Textdaten um. Die Textdaten bestehen aus 64 Zeichen. Sie enthalten nur druckbare Zeichen und können daher in Protokollen wie E-Mails und HTTP-Anfragenachrichten übertragen werden. Java bietet Base64-Codierungs- und Decodierungs-APIs, sodass wir Daten problemlos konvertieren können.

In diesem Artikel wird erläutert, wie Sie Base64 zum Kodieren und Dekodieren von Daten in Java verwenden.

1. Verwenden Sie die von Java8 und höher bereitgestellte Base64-Methode.

Java8 und höher stellen die Base64-Klasse bereit, und wir können die von ihr bereitgestellten Methoden direkt für Codierungs- und Decodierungsvorgänge verwenden.

  1. Base64-Kodierung

Base64-Kodierung ist der Prozess der Konvertierung von Binärdaten in Textform. Java stellt einige APIs zur einfachen Implementierung des Base64-Kodierungsprozesses bereit.

String str = "Java Base64编码解码";
byte[] data = str.getBytes("UTF-8");
String result = Base64.getEncoder().encodeToString(data);
System.out.println(result);

Das Ausgabeergebnis ist: SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==

Die Methode getBytes() wird verwendet, um das der Zeichenfolge entsprechende Byte-Array abzurufen, und die Methode Base64.getEncoder().encodeToString() wird verwendet, um den Codierungsvorgang zu implementieren und Konvertieren Sie das Byte-Array in einen A-String im Base64-codierten Format.

  1. Base64-Dekodierung

Entspricht der Kodierung. Beim Dekodieren wird eine Zeichenfolge im Base64-Format in Binärdaten umgewandelt. Ebenso stellt Java eine API zur einfachen Implementierung des Base64-Dekodierungsprozesses bereit.

String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==";
byte[] data = Base64.getDecoder().decode(text);
String result = new String(data, "UTF-8");
System.out.println(result);

Das Ausgabeergebnis ist: Java Base64-Kodierung und -Dekodierung

Unter diesen kann die Methode Base64.getDecoder().decode() die Zeichenfolge im Base64-Format in ein Byte-Array dekodieren, und die neue Methode String() konvertiert das Byte Array in String umwandeln.

2. Verwenden Sie den Apache Commons Codec, um die Base64-Kodierung und -Dekodierung zu implementieren. Die Apache Commons Codec-Bibliothek ist ein Open-Source-Projekt unter Apache. Sie bietet zusätzlich zu Base64 auch Hex, URL und Soundex und andere Kodierungsmethoden. Hier stellen wir nur vor, wie die Commons Codec-Bibliothek für die Base64-Kodierung und -Dekodierung verwendet wird.

Base64-Kodierung
  1. String str = "Java Base64编码解码";
    byte[] data = str.getBytes("UTF-8");
    String result = org.apache.commons.codec.binary.Base64.encodeBase64String(data);
    System.out.println(result);
  2. Das Ausgabeergebnis ist das gleiche wie oben.

Hier rufen wir die Methode encodeBase64String() in der Klasse org.apache.commons.codec.binary.Base64 auf, um die Base64-Codierung zu implementieren. Diese Methode konvertiert das Byte-Array in einen String im Base64-Format.

Base64-Dekodierung
  1. String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==";
    byte[] data = org.apache.commons.codec.binary.Base64.decodeBase64(text);
    String result = new String(data, "UTF-8");
    System.out.println(result);
  2. Das Ausgabeergebnis ist das gleiche wie oben.

Hier rufen wir die Methode decodeBase64() in der Klasse org.apache.commons.codec.binary.Base64 auf, um die Base64-Dekodierung zu implementieren. Die Methode decodeBase64() konvertiert einen Base64-formatierten String in ein Byte-Array.

Zusammenfassung:

Unabhängig davon, ob Sie die von Java8 bereitgestellte Base64-Klasse oder die Apache Commons Codec-Bibliothek verwenden, können Sie problemlos Base64-Kodierung und -Dekodierung durchführen. Welche Methode zum Einsatz kommt, hängt von der konkreten Situation ab. Bei der eigentlichen Programmierung müssen wir entsprechend unseren Anforderungen auswählen, welche Methode wir verwenden möchten.

Das obige ist der detaillierte Inhalt vonSo kodieren und dekodieren Sie mit Base64-Funktionen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn