Java8 Base64
In der Java-8 hat Base64-Codierung die Standard-Java-Klassenbibliotheken werden.
Java 8 eingebaute Base64 codiert Encoder und Decoder.
Base64-Dienstprogramm-Klasse stellt eine statische Methode, die folgenden drei BASE64-Codec zu erhalten:
- Basic: Ausgang ist mit einem Satz von Zeichen zugeordnet A-Za-z0-9 + /, fügen Sie keinen Leitungscodierung Standard decodiert Ausgang unterstützt nur A-Za-z0-9 + /.
- URL: Ausgabe auf einen Satz von Zeichen abgebildet wird A-Za-z0-9 + _, ausgegeben wird eine URL und Datei.
- MIME: Ausgabe versteckt Vorfall MIME-freundlichen Format.Jede Ausgangsleitung ist nicht mehr als 76 Zeichen, und '\ r' und folgen Sie den '\ n', wie die Spaltung. Schließlich Segmentierung kein Code Ausgangsleitung.
Embedded-Klasse
Nein. | Verschachtelte Klassen & Beschreibung |
---|---|
1 | statische Klasse Base64.Decoder Diese Klasse implementiert einen Decoder zum Kodieren Verwendung Base64 die Bytes von Daten zu dekodieren. |
2 | statische Klasse Base64.Encoder Diese Klasse implementiert einen Encoder, verwenden Sie Base64-Codierung Byte Daten zu kodieren. |
Weg
Nein. | Methodenname & Beschreibung |
---|---|
1 | statische Base64.Decoder GetDecoder () Gibt eine Base64.Decoder, Dekodieren des Grund Base64-Codierungsschema verwendet wird. |
2 | statische Base64.Encoder GetEncoder () Gibt eine Base64.Encoder, base64 mit grundlegenden Codierungsschema codiert. |
3 | statische Base64.Decoder getMimeDecoder () Gibt eine Base64.Decoder, Dekodierung MIME-Typ Base64-Codierungsschema verwenden. |
4 | statische Base64.Encoder getMimeEncoder () Gibt eine Base64.Encoder, Base64-codierte MIME-Typ Codierungsschema verwendet wird. |
5 | statische Base64.Encoder getMimeEncoder (int lineLength, byte [] lineSeparator) Gibt eine Base64.Encoder, base64 MIME-Typ Codierungsschema codiert sind, können Sie die Länge jeder Zeile angeben und einen Zeilentrenner durch Parameter. |
6 | statische Base64.Decoder getUrlDecoder () Gibt eine Base64.Decoder, Decode URL und Dateinamen sichere Base64-Codierungsschema. |
7 | statische Base64.Encoder getUrlEncoder () Gibt eine Base64.Encoder, codierte URL und Dateinamen sicher Base64-Codierungsschema verwenden. |
Hinweis: Viele Methoden Base64 - Klasse von java.lang.ObjectKlasse erbt.
Base64 Beispiele
Das folgende Beispiel demonstriert die Verwendung Base64:
import java.util.Base64; import java.util.UUID; import java.io.UnsupportedEncodingException; public class Java8Tester { public static void main(String args[]){ try { // 使用基本编码 String base64encodedString = Base64.getEncoder().encodeToString("w3big?java8".getBytes("utf-8")); System.out.println("Base64 比那么字符串 (基本) :" + base64encodedString); // 解码 byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString); System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8")); base64encodedString = Base64.getUrlEncoder().encodeToString("TutorialsPoint?java8".getBytes("utf-8")); System.out.println("Base64 编码字符串 (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 编码字符串 (MIME) :" + mimeEncodedString); }catch(UnsupportedEncodingException e){ System.out.println("Error :" + e.getMessage()); } } }
Die Umsetzung des obigen Skripts, Ausgabe lautet:
$ javac Java8Tester.java $ java Java8Tester 原始字符串: w3big?java8 Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 编码字符串 (MIME) :MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0 ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0 YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk LWEwZDYtY2I5ZTUwNzJhNGE1