Referencia API
Referencia técnica para operaciones de codificación y decodificación Base64.
Algoritmo Base64
Conjunto de Caracteres
Base64 utiliza 64 caracteres para representar datos binarios:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Proceso de Codificación
- Entrada: Datos binarios o texto
- Agrupación: Agrupar en bloques de 3 bytes (24 bits)
- Conversión: Convertir cada grupo de 24 bits en 4 caracteres Base64
- Relleno: Agregar relleno según sea necesario
Proceso de Decodificación
- Entrada: Cadena codificada en Base64
- Validación: Verificar formato Base64 válido
- Conversión: Convertir grupos de 4 caracteres en bloques de 3 bytes
- Salida: Datos binarios o texto original
Formatos de Salida
Base64 Estándar
- Formato: Codificación Base64 tradicional
- Relleno: Usa
=
para relleno - Caracteres: A-Z, a-z, 0-9, +, /
- Caso de uso: Codificación general
Ejemplo:
Entrada: "Hello"
Salida: "SGVsbG8="
Base64 Seguro para URL
- Formato: Base64 modificado para URLs
- Relleno: Sin caracteres de relleno
- Caracteres: A-Z, a-z, 0-9, -, _
- Caso de uso: Parámetros de URL, nombres de archivo
Ejemplo:
Entrada: "Hello"
Salida: "SGVsbG8"
Base64 Sin Relleno
- Formato: Base64 estándar sin relleno
- Relleno: Sin caracteres de relleno
- Caracteres: A-Z, a-z, 0-9, +, /
- Caso de uso: Aplicaciones específicas
Ejemplo:
Entrada: "Hello"
Salida: "SGVsbG8"
Codificación de Caracteres
UTF-8 (Recomendado)
- Estándar: Unicode Transformation Format
- Soporte: Todos los caracteres Unicode
- Compatibilidad: Amplio soporte
- Caso de uso: Texto internacional
ASCII
- Rango: Caracteres 0-127
- Soporte: Solo caracteres latinos básicos
- Compatibilidad: Soporte universal
- Caso de uso: Solo texto en inglés
Latin-1 (ISO-8859-1)
- Rango: Caracteres 0-255
- Soporte: Caracteres de Europa occidental
- Compatibilidad: Buen soporte
- Caso de uso: Idiomas europeos
Procesamiento de Archivos
Tipos de Archivo Soportados
- Imágenes: PNG, JPEG, GIF, WebP, SVG, BMP
- Documentos: PDF, DOC, DOCX, TXT, RTF
- Archivos: ZIP, RAR, 7Z, TAR, GZ
- Audio: MP3, WAV, OGG, FLAC
- Video: MP4, AVI, MOV, WMV
- Cualquier archivo binario: Todos los tipos de archivo soportados
Límites de Tamaño de Archivo
- Tamaño máximo: 10MB por archivo
- Uso de memoria: Optimizado para archivos grandes
- Procesamiento: Procesamiento en bloques para eficiencia
Manejo de Errores
Errores Comunes
- Base64 inválido: Cadena Base64 malformada
- Archivo demasiado grande: Excede límites de tamaño
- Formato no soportado: Tipo de archivo inválido
- Error de codificación: Problemas de codificación de caracteres
Mensajes de Error
- Amigable para el usuario: Descripciones de error claras
- Accionable: Sugiere soluciones
- No técnico: Fácil de entender
- Útil: Proporciona orientación
Especificaciones de Rendimiento
Velocidad de Procesamiento
- Texto: Procesamiento en tiempo real
- Archivos pequeños: < 1 segundo
- Archivos grandes: Depende del tamaño y complejidad
- Optimización: Utiliza algoritmos eficientes
Uso de Memoria
- Mínimo: Bajo consumo de memoria
- Eficiente: Optimizado para rendimiento
- Limpieza: Gestión automática de memoria
- Límites: Respeta las limitaciones del navegador
Compatibilidad del Navegador
Navegadores Soportados
- Chrome: Soporte completo
- Firefox: Soporte completo
- Safari: Soporte completo
- Edge: Soporte completo
- Móvil: iOS Safari, Chrome Mobile
Funciones Requeridas
- File API: Para cargas de archivos
- Clipboard API: Para funcionalidad de copia
- ES6+: Funciones JavaScript modernas
- Web Workers: Para procesamiento de archivos grandes
Ejemplos de Integración
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 referencia API proporciona la base técnica para entender e implementar efectivamente las operaciones Base64.