Base64 : que devient un fichier de 3 000 octets ?
Un fichier de 3 000 octets encodé en Base64 occupe 4 000 caractères : le tiers de plus.
- Taille d'origine
- 3 000 octets
- Caractères Base64
- 4 000 (dont 0 de remplissage « = »)
- Sauts de ligne ajoutés
- aucun
- Taille après encodage
- 4 000 octets
- Surcoût
- + 33,3 %
- Variante sans remplissage (URL)
- 4 000 caractères
Le cas en détail
3 000 est un multiple de 3 : il n'y a donc pas de remplissage. Chaque groupe de 3 octets devient 4 caractères, d'où 1 000 groupes et 4 000 caractères. Le surcoût de 33,3 % est le prix à payer pour n'utiliser que des caractères imprimables.
À retenir : Si l'image à intégrer pèse plus de quelques Ko, la requête économisée ne compense souvent pas le surplus de poids.
L'exemple chiffré
Valeurs utilisées dans ce cas (des exemples, pas des mesures) :
- Taille d'origine : 3000
- Unité : octets
- Sauts de ligne : Aucun (une seule ligne)
- Taille d'origine
- 3 000 octets
- Caractères Base64
- 4 000 (dont 0 de remplissage « = »)
- Sauts de ligne ajoutés
- aucun
- Taille après encodage
- 4 000 octets
- Surcoût
- + 33,3 %
- Variante sans remplissage (URL)
- 4 000 caractères
Modifiez les champs ci-dessus pour adapter le calcul à votre situation : le résultat se met à jour tout de suite.
Comment ça se calcule
Base64 transforme chaque groupe de 3 octets en 4 caractères : la taille devient 4 × plafond(n / 3). Le remplissage « = » complète le dernier groupe. Les formats MIME (76 caractères par ligne) et PEM (64) ajoutent un saut de ligne de 2 octets (CRLF) à chaque ligne. Le surcoût est donc d'environ un tiers.
Les résultats sont fournis à titre indicatif, sans valeur de conseil juridique, fiscal ou financier.