Java 8 - Base64
Com o Java 8, o Base64 finalmente conseguiu o que merecia. O Java 8 agora possui codificador e decodificador embutidos para codificação Base64. No Java 8, podemos usar três tipos de codificação Base64.
-
Simples − A saída é mapeada para um conjunto de caracteres em A-Za-z0-9+/. O codificador não adiciona nenhuma alimentação de linha na saída e o decodificador rejeita qualquer caractere diferente de A-Za-z0-9+/.
-
URL − A saída é mapeada para um conjunto de caracteres em A-Za-z0-9+_. A saída é segura para URL e nome de arquivo.
-
MIME − A saída é mapeada para o formato amigável MIME. A saída é representada em linhas de no máximo 76 caracteres cada e usa um retorno de carro '\r' seguido por um avanço de linha '\n' como separador de linha. Nenhum separador de linha está presente no final da saída codificada.
Classes aninhadas
| Nº Sr. | Classe e descrição aninhadas |
|---|---|
| 1 | classe estática Base64.Decoder Essa classe implementa um decodificador para decodificar dados de bytes usando o esquema de codificação Base64 conforme especificado em RFC 4648 e RFC 2045. |
| 2 | classe estática Base64.Encoder Essa classe implementa um codificador para codificar dados de bytes usando o esquema de codificação Base64 conforme especificado em RFC 4648 e RFC 2045. |
Métodos
| Nº Sr. | Nome e descrição do método |
|---|---|
| 1 | estático Base64.Decoder getDecoder() Retorna um Base64.Decoder que decodifica usando o esquema de codificação base64 do tipo básico. |
| 2 | estático Base64.Encoder getEncoder() Retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo básico. |
| 3 | estático Base64.Decoder getMimeDecoder() Retorna um Base64.Decoder que decodifica usando o esquema de decodificação base64 do tipo MIME. |
| 4 | estático Base64.Encoder getMimeEncoder() Retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo MIME. |
| 5 | static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo MIME com comprimento de linha e separadores de linha especificados. |
| 6 | estático Base64.Decoder getUrlDecoder() Retorna um Base64.Decoder que decodifica usando o esquema de codificação base64 do tipo seguro URL e Nome de arquivo. |
| 7 | estático Base64.Encoder getUrlEncoder() Retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo seguro URL e Nome de arquivo. |
Métodos herdados
Esta classe herda métodos da seguinte classe -
- java.lang.Object
Exemplo de Base64
Crie o seguinte programa Java usando qualquer editor de sua escolha em C:/> JAVA.
Java8Tester.java
Demonstração ao vivo
import 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());
}
}
}
Verifique o resultado
Compile a classe usando javac compilador da seguinte forma -
C:\JAVA>javac Java8Tester.java
Agora execute o Java8Tester da seguinte forma -
C:\JAVA>java Java8Tester
Deve produzir a seguinte saída -
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