S
SoSimple.tools
Outils dev et design

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

Fonctionne dans votre navigateur : vos données restent sur votre appareil

Données sources et paramètres

13 characters 13 bytes (UTF-8)
Générer du Base64 compatible URL (- et _ au lieu de + et /)
Représentations converties
Texte brut (UTF-8)
Hello, World!
Représentation Base64
SGVsbG8sIFdvcmxkIQ==
Format URL encodé
Hello%2C%20World!
Octets hexadécimaux
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21
Bits binaires (8 bits)
01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001
Données converties avec succès dans tous les formats cibles
Partager cet outil

Comment utiliser cet outil

  1. Choisissez « Encoder le texte » ou « Décoder », puis le format d'entrée : texte brut, Base64, URL encodé, hexadécimal ou binaire.
  2. Saisissez ou collez les données ; tous les autres formats se mettent à jour pendant la frappe.
  3. 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 /.
  4. 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.

Base64 RFC 4648 et encodage URL RFC 3986 : Le Base64 associe chaque bloc de 3 octets (24 bits) à quatre caractères d'un alphabet de 64 ; si la longueur n'est pas un multiple de 3, un ou deux caractères de remplissage = complètent le dernier bloc (Hi devient SGk=). Le pourcent-encodage produit par encodeURIComponent écrit chaque octet non sûr sous la forme %HH : une espace donne %20 et non +. L'option URL-safe remplace + et / par - et _ et supprime le remplissage.
Format multioctet UTF-8 et sorties hex/binaire : Le texte est converti en 1 à 4 octets par point de code avec le TextEncoder du navigateur (UTF-8). L'hexadécimal affiche chaque octet sur deux chiffres (0-f) et le binaire sur huit bits. Le décodage fonctionne en sens inverse : l'entrée hexadécimale accepte espaces, deux-points, virgules et préfixes 0x, et les suites d'octets qui ne sont pas de l'UTF-8 valide s'affichent avec le caractère de remplacement, d'où un texte parfois différent des octets d'origine.

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.

TexteCaractères → octetsHexBase64
Hi2 → 248 69SGk=
ñ1 → 2c3 b1w7E=
€1 → 3e2 82 ac4oKs
日本2 → 6e6 97 a5 e6 9c ac5pel5pys
😀2 → 4f0 9f 98 808J+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.

Outils similaires

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.