Java8 Base64
W Javie 8 kodowania Base64 stał się standardem bibliotek klas Java.
Java 8 wbudowanych Base64 zakodowane koder i dekoder.
Base64 klasy narzędzie zapewnia statyczną metodę otrzymano następujące kodek trzy base64:
- Podstawowe: wyjście jest mapowany do zestawu znaków a-zA-Z0-9 + /, nie należy dodawać żadnego standardu kodowania linii, dekodowane wyjście obsługuje tylko a-zA-Z0-9 + /.
- URL: wyjście jest mapowany do zestawu znaków a-zA-Z0-9 _ +, wyjście jest URL i plików.
- MIME: Format wyjściowy ukryte incydent MIME w obsłudze.Każda linia wyjściowa wynosi nie więcej niż 76 znaków, a '\ r' i wykonaj '\ n' jako ułamek. Wreszcie, nie ma linii wyjściowej Kod segmentacji.
Klasa wbudowania
Nie. | Zagnieżdżone klasy i opis |
---|---|
1 | statyczne klasy Base64.Decoder Ta klasa implementuje dekoder dla kodowania Base64 zastosowanie do dekodowania bajtów danych. |
2 | statyczne klasy Base64.Encoder Ta klasa implementuje koder użyć kodowania Base64 zakodować bajtów danych. |
sposób
Nie. | Metoda Nazwa i opis |
---|---|
1 | statyczne Base64.Decoder getDecoder () Zwraca Base64.Decoder, dekodowanie przy użyciu podstawowego schematu kodowania base64. |
2 | statyczne Base64.Encoder getEncoder () Zwraca Base64.Encoder, base64 zakodowane przy użyciu podstawowego systemu kodowania. |
3 | statyczne Base64.Decoder getMimeDecoder () Zwraca Base64.Decoder, dekodowanie za pomocą typu MIME schemat kodowania base64. |
4 | statyczne Base64.Encoder getMimeEncoder () Zwraca Base64.Encoder, base64 zakodowane przy użyciu schemat kodowania typu MIME. |
5 | statyczne Base64.Encoder getMimeEncoder (int lineLength, byte [] lineSeparator) Zwraca Base64.Encoder, base64 zakodowane przy użyciu schemat kodowania typu MIME, można określić długość każdej linii i separator linią przechodzącą parametrów. |
6 | statyczne Base64.Decoder getUrlDecoder () Zwraca Base64.Decoder dekodować URL i bezpieczne base64 schemat kodowania nazw plików. |
7 | statyczne Base64.Encoder getUrlEncoder () Zwraca Base64.Encoder, zakodowane przy użyciu adresu URL i bezpieczne base64 schemat kodowania nazw plików. |
Uwaga: Wiele metod klasy Base64 dziedziczy z klasy java.lang.Object.
przykłady Base64
Poniższy przykład demonstruje użycie 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()); } } }
Realizacja powyższego scenariusza, wyjście jest:
$ javac Java8Tester.java $ java Java8Tester 原始字符串: w3big?java8 Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 编码字符串 (MIME) :MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0 ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0 YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk LWEwZDYtY2I5ZTUwNzJhNGE1