Référence API
Référence technique pour les opérations d'encodage et de décodage Base64.
Algorithme Base64
Jeu de Caractères
Base64 utilise 64 caractères pour représenter les données binaires :
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Processus d'Encodage
- Entrée : Données binaires ou texte
- Regroupement : Grouper en blocs de 3 octets (24 bits)
- Conversion : Convertir chaque groupe de 24 bits en 4 caractères Base64
- Remplissage : Ajouter le remplissage si nécessaire
Processus de Décodage
- Entrée : Chaîne encodée Base64
- Validation : Vérifier le format Base64 valide
- Conversion : Convertir les groupes de 4 caractères en blocs de 3 octets
- Sortie : Données binaires ou texte original
Formats de Sortie
Base64 Standard
- Format : Encodage Base64 traditionnel
- Remplissage : Utilise
=
pour le remplissage - Caractères : A-Z, a-z, 0-9, +, /
- Cas d'Usage : Encodage à usage général
Exemple :
Entrée : "Hello"
Sortie : "SGVsbG8="
Base64 Sécurisé pour URL
- Format : Base64 modifié pour les URLs
- Remplissage : Aucun caractère de remplissage
- Caractères : A-Z, a-z, 0-9, -, _
- Cas d'Usage : Paramètres d'URL, noms de fichiers
Exemple :
Entrée : "Hello"
Sortie : "SGVsbG8"
Base64 Sans Remplissage
- Format : Base64 standard sans remplissage
- Remplissage : Aucun caractère de remplissage
- Caractères : A-Z, a-z, 0-9, +, /
- Cas d'Usage : Applications spécifiques
Exemple :
Entrée : "Hello"
Sortie : "SGVsbG8"
Encodage de Caractères
UTF-8 (Recommandé)
- Standard : Format de Transformation Unicode
- Support : Tous les caractères Unicode
- Compatibilité : Support largement répandu
- Cas d'Usage : Texte international
ASCII
- Plage : Caractères 0-127
- Support : Caractères latins de base
- Compatibilité : Support universel
- Cas d'Usage : Texte anglais uniquement
Latin-1 (ISO-8859-1)
- Plage : Caractères 0-255
- Support : Caractères d'Europe occidentale
- Compatibilité : Bon support
- Cas d'Usage : Langues européennes
Traitement de Fichiers
Types de Fichiers Supportés
- Images : PNG, JPEG, GIF, WebP, SVG, BMP
- Documents : PDF, DOC, DOCX, TXT, RTF
- Archives : ZIP, RAR, 7Z, TAR, GZ
- Audio : MP3, WAV, OGG, FLAC
- Vidéo : MP4, AVI, MOV, WMV
- Tout Binaire : Tous les types de fichiers supportés
Limites de Taille de Fichier
- Taille Maximale : 10MB par fichier
- Utilisation Mémoire : Optimisé pour les gros fichiers
- Traitement : Traitement par blocs pour l'efficacité
Gestion d'Erreurs
Erreurs Courantes
- Base64 Invalide : Chaîne Base64 malformée
- Fichier Trop Gros : Dépasse les limites de taille
- Format Non Supporté : Type de fichier invalide
- Erreur d'Encodage : Problèmes d'encodage de caractères
Messages d'Erreur
- Convivial : Descriptions d'erreur claires
- Actionnable : Suggère des solutions
- Non Technique : Facile à comprendre
- Utile : Fournit des conseils
Spécifications de Performance
Vitesse de Traitement
- Texte : Traitement en temps réel
- Petits Fichiers : < 1 seconde
- Gros Fichiers : Dépend de la taille et de la complexité
- Optimisation : Algorithmes efficaces utilisés
Utilisation Mémoire
- Minimale : Faible empreinte mémoire
- Efficace : Optimisé pour les performances
- Nettoyage : Gestion automatique de la mémoire
- Limites : Respecte les limitations du navigateur
Compatibilité Navigateur
Navigateurs Supportés
- Chrome : Support complet
- Firefox : Support complet
- Safari : Support complet
- Edge : Support complet
- Mobile : iOS Safari, Chrome Mobile
Fonctionnalités Requises
- API Fichier : Pour les téléchargements de fichiers
- API Presse-papiers : Pour la fonctionnalité de copie
- ES6+ : Fonctionnalités JavaScript modernes
- Web Workers : Pour le traitement de gros fichiers
Exemples d'Intégration
JavaScript
// Encoder
const encoded = btoa('Hello World');
console.log(encoded); // "SGVsbG8gV29ybGQ="
// Décoder
const decoded = atob('SGVsbG8gV29ybGQ=');
console.log(decoded); // "Hello World"
Python
import base64
# Encoder
encoded = base64.b64encode(b'Hello World').decode('utf-8')
print(encoded) # "SGVsbG8gV29ybGQ="
# Décoder
decoded = base64.b64decode('SGVsbG8gV29ybGQ=').decode('utf-8')
print(decoded) # "Hello World"
PHP
// Encoder
$encoded = base64_encode('Hello World');
echo $encoded; // "SGVsbG8gV29ybGQ="
// Décoder
$decoded = base64_decode('SGVsbG8gV29ybGQ=');
echo $decoded; // "Hello World"
Cette référence API fournit la base technique pour comprendre et implémenter efficacement les opérations Base64.