Java 8 - Base64
Mit Java 8 hat Base64 endlich seine Fälligkeit bekommen. Java 8 verfügt jetzt über einen integrierten Encoder und Decoder für die Base64-Codierung. In Java 8 können wir drei Typen der Base64-Codierung verwenden.
-
Einfach − Die Ausgabe wird einem Satz von Zeichen zugeordnet, die in A-Za-z0-9+/ liegen. Der Encoder fügt keinen Zeilenvorschub in die Ausgabe ein und der Decoder weist alle anderen Zeichen als A-Za-z0-9+/.
zurück -
URL − Die Ausgabe wird einem Zeichensatz zugeordnet, der in A-Za-z0-9+_ liegt. Die Ausgabe ist URL- und dateinamensicher.
-
MIME − Die Ausgabe wird einem MIME-freundlichen Format zugeordnet. Die Ausgabe wird in Zeilen mit jeweils nicht mehr als 76 Zeichen dargestellt und verwendet einen Wagenrücklauf '\r' gefolgt von einem Zeilenvorschub '\n' als Zeilentrenner. Am Ende der codierten Ausgabe steht kein Zeilentrenner.
Verschachtelte Klassen
Sr.No. | Verschachtelte Klasse &Beschreibung |
---|---|
1 | statische Klasse Base64.Decoder Diese Klasse implementiert einen Decoder zum Decodieren von Bytedaten unter Verwendung des Base64-Codierungsschemas, wie in RFC 4648 und RFC 2045 angegeben. |
2 | statische Klasse Base64.Encoder Diese Klasse implementiert einen Encoder zum Codieren von Bytedaten unter Verwendung des Base64-Codierungsschemas, wie in RFC 4648 und RFC 2045 angegeben. |
Methoden
Sr.No. | Name und Beschreibung der Methode |
---|---|
1 | Statischer Base64.Decoder getDecoder() Gibt einen Base64.Decoder zurück, der mit dem base64-Codierungsschema des Basic-Typs decodiert. |
2 | Statischer Base64.Encoder getEncoder() Gibt einen Base64.Encoder zurück, der mit dem base64-Codierungsschema des Basic-Typs codiert. |
3 | Statischer Base64.Decoder getMimeDecoder() Gibt einen Base64.Decoder zurück, der mithilfe des base64-Decodierungsschemas des MIME-Typs decodiert. |
4 | Statischer Base64.Encoder getMimeEncoder() Gibt einen Base64.Encoder zurück, der mit dem base64-Codierungsschema des MIME-Typs codiert. |
5 | Statischer Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Gibt einen Base64.Encoder zurück, der mit dem Base64-Codierungsschema des MIME-Typs mit angegebener Zeilenlänge und Zeilentrennzeichen codiert. |
6 | Statischer Base64.Decoder getUrlDecoder() Gibt einen Base64.Decoder zurück, der unter Verwendung des URL- und Dateinamen-sicheren base64-Codierungsschemas decodiert. |
7 | statischer Base64.Encoder getUrlEncoder() Gibt einen Base64.Encoder zurück, der mit dem URL- und Dateinamen-sicheren base64-Codierungsschema codiert. |
Übernommene Methoden
Diese Klasse erbt Methoden von der folgenden Klasse −
- java.lang.Object
Base64-Beispiel
Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl in beispielsweise C:/> JAVA.
Java8Tester.java
Live-Demoimport java.util.Base64; import java.util.UUID; import java.io.UnsupportedEncodingException; public class HelloWorld { public static void main(String args[]) { try { // Encode using basic encoder String base64encodedString = Base64.getEncoder().encodeToString( "TutorialsPoint?java8".getBytes("utf-8")); System.out.println("Base64 Encoded String (Basic) :" + base64encodedString); // Decode byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString); System.out.println("Original String: " + new String(base64decodedBytes, "utf-8")); base64encodedString = Base64.getUrlEncoder().encodeToString( "TutorialsPoint?java8".getBytes("utf-8")); System.out.println("Base64 Encoded String (URL) :" + base64encodedString); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 10; ++i) { stringBuilder.append(UUID.randomUUID().toString()); } byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8"); String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes); System.out.println("Base64 Encoded String (MIME) :" + mimeEncodedString); } catch(UnsupportedEncodingException e) { System.out.println("Error :" + e.getMessage()); } } }
Überprüfen Sie das Ergebnis
Kompilieren Sie die Klasse mit javac Compiler wie folgt −
C:\JAVA>javac Java8Tester.java
Führen Sie nun den Java8Tester wie folgt aus −
C:\JAVA>java Java8Tester
Es sollte die folgende Ausgabe erzeugen −
Base64 Encoded String (Basic) :VHV0b3JpYWxzUG9pbnQ/amF2YTg= Original String: TutorialsPoint?java8 Base64 Encoded String (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 Encoded String (MIME) :YmU3NWY2ODktNGM5YS00ODlmLWI2MTUtZTVkOTk2YzQ1Njk1Y2EwZTg2OTEtMmRiZC00YTQ1LWJl NTctMTI1MWUwMTk0ZWQyNDE0NDAwYjgtYTYxOS00NDY5LTllYTctNjc1YzE3YWJhZTk1MTQ2MDQz NDItOTAyOC00ZWI0LThlOTYtZWU5YzcwNWQyYzVhMTQxMWRjYTMtY2MwNi00MzU0LTg0MTgtNGQ1 MDkwYjdiMzg2ZTY0OWU5MmUtZmNkYS00YWEwLTg0MjQtYThiOTQxNDQ2YzhhNTVhYWExZjItNjU2 Mi00YmM4LTk2ZGYtMDE4YmY5ZDZhMjkwMzM3MWUzNDMtMmQ3MS00MDczLWI0Y2UtMTQxODE0MGU5 YjdmYTVlODUxYzItN2NmOS00N2UyLWIyODQtMThlMWVkYTY4M2Q1YjE3YTMyYmItZjllMS00MTFk LWJiM2UtM2JhYzUxYzI5OWI4
Java