Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java 8 Base64: Codificação Simple, URL e MIME Simplificada

Com o Java 8, o Base64 ganhou suporte nativo. Agora há encoders e decoders embutidos para três tipos de codificação Base64:

Classes Aninhadas

NºClasse Aninhada e Descrição
1

static class Base64.Decoder

Implementa decoder para decodificar dados byte usando o esquema Base64 conforme RFC 4648 e RFC 2045.

2

static class Base64.Encoder

Implementa encoder para codificar dados byte usando o esquema Base64 conforme RFC 4648 e RFC 2045.

Métodos Principais

NºMétodo e Descrição
1

static Base64.Decoder getDecoder()

Retorna decoder para esquema Basic.

2

static Base64.Encoder getEncoder()

Retorna encoder para esquema Basic.

3

static Base64.Decoder getMimeDecoder()

Retorna decoder para esquema MIME.

4

static Base64.Encoder getMimeEncoder()

Retorna encoder para esquema MIME.

5

static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)

Retorna encoder MIME com comprimento de linha e separadores personalizados.

6

static Base64.Decoder getUrlDecoder()

Retorna decoder para esquema URL/Filename safe.

7

static Base64.Encoder getUrlEncoder()

Retorna encoder para esquema URL/Filename safe.

Herda métodos de java.lang.Object.

Exemplo Base64

Crie o programa em 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 {
            // Codificação básica
            String base64encodedString = Base64.getEncoder().encodeToString(
                "TutorialsPoint?java8".getBytes("utf-8"));
            System.out.println("Base64 Codificado (Basic): " + base64encodedString);

            // Decodificação
            byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
            System.out.println("String Original: " + new String(base64decodedBytes, "utf-8"));

            // Codificação URL
            base64encodedString = Base64.getUrlEncoder().encodeToString(
                "TutorialsPoint?java8".getBytes("utf-8"));
            System.out.println("Base64 Codificado (URL): " + base64encodedString);

            // Codificação MIME
            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 Codificado (MIME): " + mimeEncodedString);
        } catch (UnsupportedEncodingException e) {
            System.out.println("Erro: " + e.getMessage());
        }
    }
}

Verificando o Resultado

C:\JAVA>javac Java8Tester.java
C:\JAVA>java Java8Tester

Saída (exemplo):

Base64 Codificado (Basic): VHV0b3JpYWxzUG9pbnQ/amF2YTg=
String Original: TutorialsPoint?java8
Base64 Codificado (URL): VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 Codificado (MIME): YmU3NWY2ODktNGM5YS00ODlmLWI2MTUtZTVkOTk2YzQ1Njk1Y2EwZTg2OTEtMmRiZC00YTQ1LWJl
NTctMTI1MWUwMTk0ZWQyNDE0NDAwYjgtYTYxOS00NDY5LTllYTctNjc1YzE3YWJhZTk1MTQ2MDQz
NDItOTAyOC00ZWI0LThlOTYtZWU5YzcwNWQyYzVhMTQxMWRjYTMtY2MwNi00MzU0LTg0MTgtNGQ1
MDkwYjdiMzg2ZTY0OWU5MmUtZmNkYS00YWEwLTg0MjQtYThiOTQxNDQ2YzhhNTVhYWExZjItNjU2
Mi00YmM4LTk2ZGYtMDE4YmY5ZDZhMjkwMzM3MWUzNDMtMmQ3MS00MDczLWI0Y2UtMTQxODE0MGU5
YjdmYTVlODUxYzItN2NmOS00N2UyLWIyODQtMThlMWVkYTY4M2Q1YjE3YTMyYmItZjllMS00MTFk
LWJiM2UtM2JhYzUxYzI5OWI4

Java

  1. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  2. Comentários em Java: Tipos, Uso e Boas Práticas
  3. Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
  4. Dominando Strings em Java: Criação, Métodos e Boas Práticas
  5. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  6. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  7. Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
  8. Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
  9. Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código
  10. Entendendo o Java Vector: Uso, Recursos e Comparação com ArrayList