BrowserTools
Publicité
Accueil / Encodeurs / Outil d'échappement et de déséchappement

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 ?
Ils sont presque identiques : tous deux transforment &, <, >, " et ' en entités. La principale différence pratique est l'apostrophe, que le XML écrit &apos; alors que le HTML utilise souvent &#39; pour une plus grande compatibilité. Le déséchappement gère les entités nommées ainsi que les formes décimales (&#39;) et hexadécimales (&#x27;).
Pourquoi l'échappement des chaînes JSON et JavaScript se ressemble-t-il ?
Parce que la syntaxe des chaînes du JSON est un sous-ensemble strict de celle de JavaScript. Les deux échappent les guillemets doubles, les barres obliques inverses et les caractères de contrôle comme les sauts de ligne (\n) et les tabulations (\t). L'outil produit le contenu intérieur d'un littéral de chaîne, sans les guillemets qui l'entourent, pour que vous puissiez l'insérer directement dans votre code ou vos données.
Comment fonctionne l'échappement CSV ?
Un champ CSV n'a besoin de guillemets que lorsqu'il contient une virgule, un guillemet double ou un saut de ligne. Dans ce cas, le champ est entouré de guillemets doubles et tout guillemet double à l'intérieur est doublé (" devient ""). Les champs sans ces caractères sont laissés tels quels, ce qui est conforme à la RFC 4180.
Le mode URL encode-t-il l'URL entière ou seulement un composant ?
Il utilise l'encodage de composant (l'équivalent d'encodeURIComponent), qui encode en pourcentage les caractères réservés comme /, ?, & et =. C'est le bon choix pour une seule valeur de chaîne de requête ou un segment de chemin. Pour travailler sur une URL complète en conservant sa structure, utilisez l'outil dédié d'encodage d'URL.
L'échappement est-il la même chose que le chiffrement ?
Non. L'échappement modifie seulement la façon dont les caractères sont représentés afin qu'un analyseur les lise comme des données, et n'importe qui peut l'inverser instantanément. Il n'offre aucune confidentialité. Pour la confidentialité, il vous faut un vrai chiffrement, et non un échappement ou un encodage.
Mon entrée est-elle envoyée quelque part ?
Non. Tout l'échappement et le déséchappement se déroulent localement dans votre navigateur, de sorte que les charges utiles, les jetons et les données exportées ne quittent jamais votre appareil.

À 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 &lt; et &amp;, 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 ».

Publicité
Publicité
Publicité