Aller au contenu
Calcuplay
Tech

Encodeur et décodeur Base64

Le Base64 écrit n'importe quelle donnée avec 64 caractères sûrs : « Man » devient « TWFu ». Chaque groupe de 3 octets devient 4 caractères, donc le résultat est environ un tiers plus long.

Votre texte reste sur votre appareil : il n'est ni envoyé ni mis dans l'adresse de la page.

Résultat

Qm9uam91ciB0b3V0IGxlIG1vbmRlICE=

23 octets ↔ 32 caractères Base64

3 octets = 24 bits = 4 caractères de 6 bits

Petit défi

Série 0Record 0

Testez-vous : chaque réponse est calculée par l'outil, et les mauvais choix sont les pièges les plus courants.

Comment ça marche

Formule: Caractères = 4 × ⌈octets ÷ 3⌉

Le texte est d'abord transformé en octets en UTF-8 : un octet pour une lettre sans accent, deux à quatre pour les lettres accentuées et les émojis. Les octets sont lus 3 par 3, soit 24 bits découpés en 4 groupes de 6 bits ; chaque groupe, de 0 à 63, désigne un caractère parmi A–Z, a–z, 0–9, + et / (RFC 4648). Quand le dernier groupe n'a que 1 ou 2 octets, des « = » complètent le résultat jusqu'à un multiple de 4. La variante pour les URL remplace + et / par - et _.

Exemples concrets

  • « Man »

    3 octets → 4 caractères : TWFu.

  • « Ma »

    2 octets : un = complète le groupe, TWE=.

  • « é »

    2 octets en UTF-8 : w6k=.

Erreurs fréquentes

  • Utiliser le Base64 pour protéger un mot de passe.

    N'importe qui le décode sans clé : ce n'est pas un chiffrement.

  • Croire que la taille ne change pas.

    30 octets donnent 40 caractères : un tiers de plus.

  • Mettre du Base64 standard dans une URL : « ??> » donne Pz8+, et le + y devient une espace.

    Prenez la variante pour les URL : Pz8-.

Vecteurs de test de la RFC 4648

Vecteurs de test de la RFC 4648
TexteBase64
""""
"f""Zg=="
"fo""Zm8="
"foo""Zm9v"
"foob""Zm9vYg=="
"fooba""Zm9vYmE="
"foobar""Zm9vYmFy"

Taille une fois encodé

Taille une fois encodé
OctetsCaractères
14
24
34
1016
100136
1 0001 336
1 000 0001 333 336

Questions fréquentes

Le Base64 est-il un chiffrement ?

Non. N'importe qui peut le décoder, sans clé : il sert seulement à faire voyager des données sous forme de texte (courriels, JSON, URL). Ne l'utilisez jamais pour cacher un mot de passe.

Pourquoi mon Base64 finit-il par = ou == ?

La longueur n'était pas un multiple de 3 octets : un = signifie que le dernier groupe avait 2 octets, == qu'il n'en avait qu'un.

Pourquoi le texte encodé est-il plus long ?

Chaque groupe de 3 octets devient 4 caractères, un tiers de plus, sans compter les = de fin. Les lettres accentuées et les émojis prennent 2 à 4 octets en UTF-8 : ils grossissent encore plus.

Calculatrices tech

Calculatrices tech

Autres calculatrices