Java8 Base64
In Java 8, la codifica Base64 è diventato le librerie di classi Java standard.
Java 8 costruito Base64 codificatore codifica e decodifica.
Base64 classe di utilità fornisce un metodo statico per ottenere le seguenti codec tre BASE64:
- Di base: l'uscita è associata a una serie di caratteri A-Za-z0-9 + /, non aggiungere qualsiasi standard di codifica linea, uscita decodificato supporta solo A-Za-z0-9 + /.
- URL: l'uscita è associata a una serie di caratteri A-Za-Z0-9 + _, l'uscita è un URL e file.
- MIME: Formato di incidente nascosto MIME-friendly.Ogni linea di uscita non è più di 76 caratteri, e '\ r' e seguire la '\ n' come la scissione. Infine, nessuna linea uscita del codice di segmentazione.
classe incorporato
No. | classi nidificate e descrizione |
---|---|
1 | Classe Base64.Decoder statica Questa classe implementa un decodificatore per la codifica Base64 uso per decodificare i byte di dati. |
2 | Classe Base64.Encoder statica Questa classe implementa un encoder, utilizzare la codifica Base64 per codificare byte di dati. |
modo
No. | Nome metodo e descrizione |
---|---|
1 | static Base64.Decoder getDecoder () Restituisce un Base64.Decoder, decodifica utilizzando lo schema di codifica Base64 base. |
2 | static Base64.Encoder getEncoder () Restituisce un Base64.Encoder, Base64 codificato usando schema di codifica di base. |
3 | static Base64.Decoder getMimeDecoder () Restituisce un Base64.Decoder, decodifica utilizzando il tipo MIME schema di codifica Base64. |
4 | static Base64.Encoder getMimeEncoder () Restituisce un Base64.Encoder, Base64 codificato utilizzando il tipo MIME schema di codifica. |
5 | static Base64.Encoder getMimeEncoder (int lineLength, byte [] lineSeparator) Restituisce un Base64.Encoder, Base64 codificato utilizzando il tipo MIME schema di codifica, è possibile specificare la lunghezza di ogni linea e un separatore di linea attraverso i parametri. |
6 | static Base64.Decoder getUrlDecoder () Restituisce un Base64.Decoder, decodificare URL e il nome del file schema di codifica Base64 sicura. |
7 | static Base64.Encoder getUrlEncoder () Restituisce un Base64.Encoder, codificati utilizzando l'URL e il nome schema di codifica Base64 sicura. |
Nota: Molti metodi di classe Base64 eredita dalla classe Object.
esempi base64
L'esempio seguente dimostra l'uso 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()); } } }
L'attuazione del script di cui sopra, l'uscita è:
$ javac Java8Tester.java $ java Java8Tester 原始字符串: w3big?java8 Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 编码字符串 (MIME) :MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0 ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0 YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk LWEwZDYtY2I5ZTUwNzJhNGE1