Referência da API
Referência técnica para operações de codificação e decodificação Base64.
Algoritmo Base64
Conjunto de Caracteres
Base64 usa 64 caracteres diferentes para representar dados binários:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Processo de Codificação
- Entrada: Dados binários ou texto
- Agrupamento: Agrupar em blocos de 3 bytes (24 bits)
- Conversão: Converter cada grupo de 24 bits em 4 caracteres Base64
- Preenchimento: Adicionar preenchimento conforme necessário
Processo de Decodificação
- Entrada: String codificada em Base64
- Validação: Verificar formato Base64 válido
- Conversão: Converter grupos de 4 caracteres em blocos de 3 bytes
- Saída: Dados binários ou texto original
Formatos de Saída
Base64 Padrão
- Formato: Codificação Base64 tradicional
- Preenchimento: Usa
=
para preenchimento - Caracteres: A-Z, a-z, 0-9, +, /
- Caso de uso: Codificação geral
Exemplo:
Entrada: "Hello"
Saída: "SGVsbG8="
Base64 Seguro para URL
- Formato: Base64 modificado para URLs
- Preenchimento: Sem caracteres de preenchimento
- Caracteres: A-Z, a-z, 0-9, -, _
- Caso de uso: Parâmetros de URL, nomes de arquivo
Exemplo:
Entrada: "Hello"
Saída: "SGVsbG8"
Base64 Sem Preenchimento
- Formato: Base64 padrão sem preenchimento
- Preenchimento: Sem caracteres de preenchimento
- Caracteres: A-Z, a-z, 0-9, +, /
- Caso de uso: Aplicações específicas
Exemplo:
Entrada: "Hello"
Saída: "SGVsbG8"
Codificação de Caracteres
UTF-8 (Recomendado)
- Padrão: Formato de Transformação Unicode
- Suporte: Todos os caracteres Unicode
- Compatibilidade: Amplamente suportado
- Caso de uso: Texto internacional
ASCII
- Faixa: Caracteres 0-127
- Suporte: Apenas caracteres latinos básicos
- Compatibilidade: Suporte universal
- Caso de uso: Apenas texto em inglês
Latin-1 (ISO-8859-1)
- Faixa: Caracteres 0-255
- Suporte: Caracteres da Europa Ocidental
- Compatibilidade: Bom suporte
- Caso de uso: Idiomas europeus
Processamento de Arquivos
Tipos de Arquivo Suportados
- Imagens: PNG, JPEG, GIF, WebP, SVG, BMP
- Documentos: PDF, DOC, DOCX, TXT, RTF
- Arquivos: ZIP, RAR, 7Z, TAR, GZ
- Áudio: MP3, WAV, OGG, FLAC
- Vídeo: MP4, AVI, MOV, WMV
- Qualquer arquivo binário: Todos os tipos de arquivo suportados
Limites de Tamanho de Arquivo
- Tamanho máximo: 10MB por arquivo
- Uso de memória: Otimizado para arquivos grandes
- Processamento: Processamento em blocos para eficiência
Tratamento de Erros
Erros Comuns
- Base64 inválido: String Base64 mal formada
- Arquivo muito grande: Excede limites de tamanho
- Formato não suportado: Tipo de arquivo inválido
- Erro de codificação: Problemas de codificação de caracteres
Mensagens de Erro
- Amigável ao usuário: Descrições de erro claras
- Acionável: Sugere soluções
- Não técnico: Fácil de entender
- Útil: Fornece orientação
Especificações de Performance
Velocidade de Processamento
- Texto: Processamento em tempo real
- Arquivos pequenos: < 1 segundo
- Arquivos grandes: Depende do tamanho e complexidade
- Otimização: Usa algoritmos eficientes
Uso de Memória
- Mínimo: Baixo consumo de memória
- Eficiente: Otimizado para performance
- Limpeza: Gerenciamento automático de memória
- Limites: Respeita limitações do navegador
Compatibilidade do Navegador
Navegadores Suportados
- Chrome: Suporte completo
- Firefox: Suporte completo
- Safari: Suporte completo
- Edge: Suporte completo
- Mobile: iOS Safari, Chrome Mobile
Recursos Necessários
- File API: Para uploads de arquivo
- Clipboard API: Para funcionalidade de cópia
- ES6+: Recursos JavaScript modernos
- Web Workers: Para processamento de arquivos grandes
Exemplos de Integração
JavaScript
// Codificar
const encoded = btoa('Hello World');
console.log(encoded); // "SGVsbG8gV29ybGQ="
// Decodificar
const decoded = atob('SGVsbG8gV29ybGQ=');
console.log(decoded); // "Hello World"
Python
import base64
# Codificar
encoded = base64.b64encode(b'Hello World').decode('utf-8')
print(encoded) # "SGVsbG8gV29ybGQ="
# Decodificar
decoded = base64.b64decode('SGVsbG8gV29ybGQ=').decode('utf-8')
print(decoded) # "Hello World"
PHP
// Codificar
$encoded = base64_encode('Hello World');
echo $encoded; // "SGVsbG8gV29ybGQ="
// Decodificar
$decoded = base64_decode('SGVsbG8gV29ybGQ=');
echo $decoded; // "Hello World"
Esta referência da API fornece a base técnica para compreender e implementar efetivamente operações Base64.