Skip to content
DocsAll
教程

Principe de l’encodage Base64 : pourquoi la taille augmente de 33 %

Timi Tian · Publié le 7 juillet 2026 · Mis à jour le 12 juillet 2026
Base64EncodageEncodage de données

Qu'est-ce que Base64

Base64 est un procédé d'encodage de données binaires en texte pur. Il utilise 64 caractères imprimables (A-Z, a-z, 0-9, +, /) pour représenter toute donnée binaire, permettant à des données binaires de transiter par des canaux ne supportant que le texte (JSON, XML, URL, courriel).

Principe de l'encodage

Table de caractères

Base64 utilise 64 caractères : majuscules A-Z (26), minuscules a-z (26), chiffres 0-9 (10), signe plus +, barre oblique /, soit 64 au total. Le signe égal = sert de remplissage en fin de chaîne.

Procédé d'encodage

  1. Grouper les données d'entrée par blocs de 3 octets (24 bits)
  2. Décomposer les 24 bits en 4 groupes de 6 bits chacun
  3. Chaque groupe de 6 bits correspond à un caractère Base64 (2 puissance 6 = 64, soit exactement 64 caractères)
  4. Compléter avec = si moins de 3 octets

Exemple

3 octets en entrée (24 bits) → 4 caractères Base64. Le nombre d'octets après encodage est donc 4/3 du nombre initial, soit environ 133 %, une augmentation de 33 %.

Pourquoi une augmentation de 33 %

À l'origine, 1 octet représente 256 valeurs (8 bits) ; chaque caractère Base64 ne représente que 64 valeurs (6 bits). Pour représenter la même quantité d'information, un encodage sur 6 bits utilise 8/6 = 4/3 fois plus de caractères qu'un encodage sur 8 bits. La taille après encodage Base64 est donc 4/3 de l'original, soit une augmentation de 33 %.

C'est le coût inhérent de Base64 — troquer de l'espace contre la « transportabilité en texte ».

Exemple d'encodage

Texte « Man » (3 octets ASCII) :

  • M = 77 = 01001101
  • a = 97 = 01100001
  • n = 110 = 01101110
  • Assembler en 24 bits : 01001101 01100001 01101110
  • Décomposer en 4 groupes de 6 bits : 010011 010110 000101 101110
  • Caractères Base64 correspondants : T W F u
  • Résultat de l'encodage : TWFu

3 octets deviennent 4 octets, soit exactement 4/3.

Variantes de Base64

Base64 standard

La table de caractères contient + et /, avec remplissage par = en fin de chaîne. Adapté à un usage général.

Base64 adapté aux URL

  • et / ont une signification spéciale en URL, remplacés par - et _. Adapté à la transmission par URL.

Base64URL

Variante adaptée aux URL, couramment utilisée dans JWT (JSON Web Token).

Base64 contre Base32 contre Hex

Base64

  • Jeu de 64 caractères
  • Augmentation de 33 % après encodage
  • Caractères incluant majuscules, minuscules, chiffres et +/, sensible à la casse

Base32

  • Jeu de 32 caractères (A-Z, 2-7)
  • Augmentation de 60 % après encodage
  • Insensible à la casse, évite les caractères ambigus, adapté à la saisie humaine

Hex (hexadécimal)

  • Jeu de 16 caractères (0-9, a-f)
  • Augmentation de 100 % après encodage (deux caractères par octet)
  • Le plus simple et le plus compatible, mais taille doublée

Taille : Hex > Base32 > Base64. Pour la compacité, choisir Base64 ; pour la compatibilité et la simplicité, choisir Hex.

Base64 est-il un chiffrement

Non. Base64 est un encodage, pas un chiffrement. N'importe qui peut décoder, il n'y a pas de protection par clé. Considérer Base64 comme un chiffrement est un contresens grave — ce n'est qu'un « déguisement » en texte apparent, le décodage donne le texte en clair.

Pour chiffrer des données sensibles, utilisez un algorithme de chiffrement comme AES ; Base64 ne sert qu'à l'encodage de transport.

Cas d'usage

Transmission de données

Des données binaires transitent par un canal textuel (JSON, XML, URL, courriel), encodées en Base64 sous forme de texte.

Intégration de petites images

De petites images encodées en Base64 sont intégrées en ligne dans HTML/CSS, réduisant les requêtes HTTP (voir Base64 pour les images).

JWT

JSON Web Token utilise Base64URL pour encoder l'en-tête (header) et la charge utile (payload).

URI de données

Le protocole data URL utilise Base64 pour intégrer des ressources.

Authentification Basic Auth

L'authentification HTTP Basic utilise Base64 pour encoder le nom d'utilisateur et le mot de passe (attention, ce n'est pas un chiffrement, à utiliser avec HTTPS).

Encoder/décoder avec DocsAll

L'outil d'encodage et décodage Base64 :

  1. Saisir le texte ou la chaîne Base64
  2. Choisir l'encodage ou le décodage
  3. Convertir en un clic
  4. Copier le résultat

Traitement côté navigateur, données non transmises.

Pièges fréquents

Le confondre avec un chiffrement

Base64 ne chiffre pas ; ne comptez pas uniquement sur Base64 pour « protéger » des données sensibles.

Augmentation de taille après encodage

Un gros fichier encodé en Base64 gonfle de 33 %, augmentant les coûts de transmission et de stockage. Si un canal binaire est disponible, n'utilisez pas Base64.

Confusion de jeux de caractères

Le Base64 standard contient +/ ; placé dans une URL, il faut échapper ou utiliser la variante adaptée aux URL. Méler les variantes provoque des échecs de décodage.

Le = final ne doit pas être omis

Le caractère de remplissage = fait partie de l'encodage ; l'omettre peut provoquer des erreurs de décodage. Certaines implémentations tolèrent l'omission, mais ce n'est pas conforme.

Résumé

Base64 est un encodage, pas un chiffrement ; il représente le binaire avec 64 caractères et l'augmentation de 33 % est un coût inhérent. Son but est de faire transiter le binaire par un canal textuel. En contexte d'URL, utiliser la variante adaptée aux URL. L'outil d'encodage/décodage de DocsAll s'exécute dans le navigateur, données non transmises.

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。