English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In Java 8, la codifica Base64 è diventata lo standard della libreria di classe Java.
Java 8 include integrato l'encoder e il decoder di codifica Base64.
La classe Base64 fornisce un insieme di metodi statici per ottenere i tre codec BASE64 di seguito:
Base:L'output viene mappato a un insieme di caratteri A-Za-z0-9+/ e l'encoding non aggiunge alcuna riga di separazione. La decodifica dell'output supporta solo A-Za-z0-9+/.
URL:L'output viene mappato a un insieme di caratteri A-Za-z0-9+_ e rappresenta URL e file.
MIME:L'output viene mappato in un formato amichevole MIME. Ogni riga non supera i 76 caratteri e viene divisa utilizzando '\r' seguita da '\n'. L'output di codifica non termina con una riga di separazione.
Numero di sequenza | Classe interna & Descrizione |
---|---|
1 | static class Base64.Decoder Questa classe implementa un decoder utilizzato, utilizzando la codifica Base64 per decodificare i dati in byte. |
2 | static class Base64.Encoder Questa classe implementa un encoder, utilizzando la codifica Base64 per codificare i dati in byte. |
Numero di sequenza | Nome del metodo & Descrizione |
---|---|
1 | static Base64.Decoder getDecoder() Restituisce un Base64.Decoder, che utilizza lo schema di codifica base64 di base. |
2 | static Base64.Encoder getEncoder() Restituisce un Base64.Encoder, che utilizza lo schema di codifica base64 di base. |
3 | static Base64.Decoder getMimeDecoder() Restituisce un Base64.Decoder, che decodifica utilizzando lo schema di codifica Base64 MIME. |
4 | static Base64.Encoder getMimeEncoder() Restituisce un Base64.Encoder, che codifica utilizzando lo schema di codifica Base64 MIME. |
5 | static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Restituisce un Base64.Encoder, che codifica utilizzando lo schema di codifica Base64 MIME, che può essere specificato la lunghezza della riga e il separatore delle righe tramite parametri. |
6 | static Base64.Decoder getUrlDecoder() Restituisce un Base64.Decoder, che decodifica utilizzando lo schema di codifica Base64 sicuro per URL e nomi di file. |
7 | static Base64.Encoder getUrlEncoder() Restituisce un Base64.Encoder, che codifica utilizzando lo schema di codifica Base64 sicuro per URL e nomi di file. |
Attenzione:Molte delle metodo della classe Base64 derivano da java.lang.Object Ereditarietà delle classi.
Esempio seguente dimostra l'uso di Base64:
import java.util.Base64; import java.util.UUID; import java.io.UnsupportedEncodingException; public class Java8Tester { public static void main(String args[]){ try { // Utilizzo della codifica base String base64encodedString = Base64.getEncoder().encodeToString("w3codebox?java8".getBytes("utf-8")); System.out.println("Codifica Base64 (basica) :" + base64encodedString); // Decodifica byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString); System.out.println("Stringa originale: " + new String(base64decodedBytes, "utf-8")); base64encodedString = Base64.getUrlEncoder().encodeToString("w3codebox?java8".getBytes("utf-8")); System.out.println("Stringa codificata in 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("Stringa codificata in Base64 (MIME): " + mimeEncodedString); System.out.println("Error:\ } } }
Esegui lo script sopra, il risultato sarà:
$ javac Java8Tester.java $ java Java8Tester Stringa originale: w3codebox?java8 Stringa codificata in Base64 (URL): VHV0b3JpYWxzUG9pbnQ_amF2YTg= Stringa codificata in Base64 (MIME): M2Q4YmUxMTEtYWRkZi00NzBlLTgyZDgtN2MwNjgzOGY2NGFlOTQ3NDYyMWEtZDM4ZS00YWVhLTkz OTYtY2ZjMzZiMzFhNmZmOGJmOGI2OTYtMzkxZi00OTJiLWEyMTQtMjgwN2RjOGI0MTBmZWUwMGNk NTktY2ZiZS00MTMxLTgzODctNDRjMjFkYmZmNGM4Njg1NDc3OGItNzNlMC00ZWM4LTgxNzAtNjY3 NTgyMGY3YzVhZWQyMmNiZGItOTIwZi00NGUzLTlkMjAtOTkzZTI1MjUwMDU5ZjdkYjg2M2UtZTJm YS00Y2Y2LWIwNDYtNWQ2MGRiOWQyZjFiMzJhMzYxOWQtNDE0ZS00MmRiLTk3NDgtNmM4NTczYjMx ZDIzNGRhOWU4NDAtNTBiMi00ZmE2LWE0M2ItZjU3MWFiNTI2NmQ2NTlmMTFmZjctYjg1NC00NmE1 LWEzMWItYjk3MmEwZTYyNTdk