Java 8 - Base64

Com o Java 8, o Base64 finalmente teve seu devido valor. Java 8 agora tem codificador e decodificador embutidos para codificação Base64. No Java 8, podemos usar três tipos de codificação Base64.

  • Simple- 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

Sr. Não. Classe aninhada e descrição
1

static class Base64.Decoder

Esta classe implementa um decodificador para decodificar dados de byte usando o esquema de codificação Base64 conforme especificado em RFC 4648 e RFC 2045.

2

static class Base64.Encoder

Esta classe implementa um codificador para codificar dados de byte usando o esquema de codificação Base64 conforme especificado no RFC 4648 e no RFC 2045.

Métodos

Sr. Não. Nome e descrição do método
1

static Base64.Decoder getDecoder()

Retorna um Base64.Decoder que decodifica usando o esquema de codificação de base64 do tipo Basic.

2

static Base64.Encoder getEncoder()

Retorna um Base64.Encoder que codifica usando o esquema de codificação do tipo básico base64.

3

static Base64.Decoder getMimeDecoder()

Retorna um Base64.Decoder que decodifica usando o esquema de decodificação de base64 do tipo MIME.

4

static Base64.Encoder getMimeEncoder()

Retorna um Base64.Encoder que codifica usando o esquema de codificação de 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 de base64 do tipo MIME com comprimento de linha e separadores de linha especificados.

6

static Base64.Decoder getUrlDecoder()

Retorna um Base64.Decoder que decodifica usando o esquema de codificação base64 do tipo seguro de URL e Nome de arquivo.

7

static Base64.Encoder getUrlEncoder()

Retorna um Base64.Encoder que codifica usando o esquema de codificação base64 do tipo seguro de URL e Nome de arquivo.

Métodos herdados

Esta classe herda métodos da seguinte classe -

  • java.lang.Object

Exemplo Base64

Crie o seguinte programa Java usando qualquer editor de sua escolha, digamos C: /> JAVA.

Java8Tester.java

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

C:\JAVA>java Java8Tester

Ele 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