Convertisseur d'encodage
Convertissez vos données entre texte brut, Base64, encodage URL, hexadécimal et binaire 8 bits en temps réel, à l’octet près en UTF-8
Données sources et paramètres
Comment utiliser cet outil
- Choisissez « Encoder le texte » ou « Décoder », puis le format d'entrée : texte brut, Base64, URL encodé, hexadécimal ou binaire.
- Saisissez ou collez les données ; tous les autres formats se mettent à jour pendant la frappe.
- Réglez les séparateurs hex et binaire, et cochez l'option URL-Safe si vous voulez du Base64 avec - et _ au lieu de + et /.
- Utilisez le bouton Copier à côté du format voulu, ou copiez tous les formats d'un coup.
Exemple concret
Le texte par défaut Hello, World! compte 13 caractères et 13 octets en UTF-8. Son Base64 est SGVsbG8sIFdvcmxkIQ==, sa forme URL est Hello%2C%20World! et son hex est 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21. Une lettre hors ASCII change le nombre d'octets : Héllo compte 5 caractères mais 6 octets, car é en prend deux (c3 a9), ce qui donne le Base64 SMOpbGxv. Si vous décodez des octets qui ne sont pas de l'UTF-8 valide, la colonne texte affiche des caractères de remplacement : le texte peut donc différer des octets d'origine. Le Base64 sert au transport, ce n'est pas du chiffrement.
Méthodologie
Les encodages traduisent des octets en texte capable de traverser le transport et le stockage. Exemple : la chaîne Héllo de 5 caractères fait 6 octets en UTF-8 car é en occupe deux (c3 a9) : hex 48 c3 a9 6c 6c 6f, Base64 SMOpbGxv, forme URL H%C3%A9llo. Toutes les autres représentations sont dérivées de ces octets, quel que soit le format saisi.
Combien d'octets coûte un seul symbole ?
Chaque ligne est saisie comme texte brut avec les réglages par défaut (hexadécimal séparé par des espaces, Base64 standard). La colonne de comptage affiche le compteur de caractères de l'outil, puis le nombre d'octets UTF-8.
| Texte | Caractères → octets | Hex | Base64 |
|---|---|---|---|
| Hi | 2 → 2 | 48 69 | SGk= |
| ñ | 1 → 2 | c3 b1 | w7E= |
| € | 1 → 3 | e2 82 ac | 4oKs |
| 日本 | 2 → 6 | e6 97 a5 e6 9c ac | 5pel5pys |
| 😀 | 2 → 4 | f0 9f 98 80 | 8J+YgA== |
Comment la lire : le texte Base64 grandit avec les octets, pas avec les caractères. Le compteur utilise des unités UTF-16 : l'émoji affiche donc 2 caractères alors qu'il s'agit d'un seul symbole ; pour les limites de taille, c'est le nombre d'octets qui compte. Dans la sortie URL de l'outil, cela donne %C3%B1, %E2%82%AC, %E6%97%A5%E6%9C%AC et %F0%9F%98%80. Avec l'option URL-safe, le 8J+YgA== de l'émoji devient 8J-YgA. Le Base64 sert à transporter des octets sous forme de texte, ce n'est pas du chiffrement.
Questions fréquentes
Quelle est la différence entre le Base64 standard et le Base64 URL-Safe ? ▼
Le Base64 standard (RFC 4648 §4) utilise les caractères « + » et « / » et ajoute un remplissage « = » à la fin. Dans les URL et en-têtes HTTP, ces signes peuvent perturber le routage. Le Base64 URL-Safe (RFC 4648 §5) remplace « + » par « - » et « / » par « _ » tout en supprimant généralement les signes « = ».
Pourquoi un texte avec des accents compte-t-il plus d'octets que de caractères ? ▼
En encodage UTF-8, les caractères ASCII basiques occupent 1 octet. Les lettres accentuées du français (é, è, à, ç) requièrent 2 octets, et les émoticônes peuvent occuper jusqu'à 4 octets par symbole dans le flux binaire.
Mes données sont-elles envoyées vers un serveur distant lors de la conversion ? ▼
Le code de conversion s'exécute dans votre navigateur grâce aux fonctions intégrées TextEncoder, TextDecoder, atob et btoa, et la page n’envoie pas ce que vous saisissez. Évitez malgré tout de coller des secrets de production réels sur un site que vous ne contrôlez pas. Rappelez-vous aussi que Base64, l'encodage URL, l'hexadécimal et le binaire sont des encodages réversibles, pas du chiffrement : quiconque voit le résultat peut le décoder, encoder un mot de passe ou un jeton ne le protège donc pas. Si la saisie n'est pas valide pour le format choisi (par exemple de l'hexadécimal avec un nombre impair de chiffres, ou du binaire qui n'est pas un multiple de 8 bits), l'outil affiche une erreur au lieu de deviner.