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 vivoimport 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