Outil d'échappement et de déséchappement
Échappez ou déséchappez du texte pour HTML, XML, JSON, JavaScript, CSV et les URL, localement dans votre navigateur.
Chargement de Outil d'échappement et de déséchappement… Si rien ne se passe, activez JavaScript.
L'échappement consiste à réécrire les caractères qui ont une signification particulière dans un format donné afin qu'ils soient traités comme de simples données plutôt que comme de la syntaxe. Cet outil échappe et déséchappe du texte pour six contextes courants : HTML, XML, chaînes JSON, chaînes JavaScript, champs CSV et URL. Choisissez le contexte, sélectionnez échapper ou déséchapper, et le résultat se met à jour au fil de votre saisie.
Questions fréquentes
Quelle est la différence entre l'échappement HTML et XML ici ?
Pourquoi l'échappement des chaînes JSON et JavaScript se ressemble-t-il ?
Comment fonctionne l'échappement CSV ?
Le mode URL encode-t-il l'URL entière ou seulement un composant ?
L'échappement est-il la même chose que le chiffrement ?
Mon entrée est-elle envoyée quelque part ?
À propos de Outil d'échappement et de déséchappement
L'enjeu, c'est la sécurité et l'exactitude. Insérer un chevron non échappé dans du HTML peut casser la page ou ouvrir une faille de cross-site scripting ; un guillemet non échappé dans une chaîne JSON empêche l'analyse de tout le document ; une virgule dans un champ CSV décale toutes les colonnes suivantes. Chaque format a ses propres règles : HTML et XML utilisent des entités comme < et &, JSON et JavaScript utilisent des séquences avec barre oblique inverse comme \" et \n, le CSV entoure un champ de guillemets doubles et double tout guillemet intérieur, et les URL encodent en pourcentage les caractères réservés sous des formes comme %20.
Tout s'exécute localement dans votre navigateur, vous pouvez donc coller des charges utiles d'API, des extraits et des données exportées sans qu'ils ne quittent votre appareil. Les opérations d'échappement et de déséchappement sont des inverses exactes pour une entrée bien formée, et un bouton « Utiliser la sortie comme entrée » vous permet d'enchaîner ou d'inverser une transformation en un seul clic.
Le caractère d'échappement
L'idée d'un « caractère d'échappement », un symbole qui modifie le sens du suivant, est assez ancienne pour précéder l'informatique moderne. Le code de contrôle ASCII 27, toujours envoyé par la touche Échap, était utilisé par les terminaux pour introduire des séquences de contrôle, et la barre oblique inverse a été adoptée par le langage C au début des années 1970 pour insérer des guillemets et des sauts de ligne à l'intérieur des littéraux de chaîne. Cette convention de la barre oblique inverse s'est répandue dans presque tous les langages qui ont suivi, ce qui explique pourquoi l'échappement JSON et JavaScript paraît si familier.
Le web a ajouté sa propre couche. Le HTML a hérité des entités à esperluette de SGML afin que les auteurs puissent écrire un signe inférieur littéral sans commencer une balise, et l'encodage en pourcentage des URL a été défini pour que les adresses puissent circuler en toute sécurité dans des systèmes ne comprenant qu'un jeu limité de caractères ASCII. Chaque schéma résout le même problème sous-jacent sous un déguisement différent : comment dire « traite ce caractère comme une donnée, pas comme une instruction ».