DevToolPal
FR

Échapper et déséchapper des chaînes

Échappez ou déséchappez des chaînes pour JSON, JavaScript, Java/C#, Python, SQL, CSV, XML, expressions régulières et commandes shell.

Traitement local, rien n'est envoyé

Options

Mode

Entrée

0 caractères · 0 B

Sortie

0 caractères · 0 B

Ce que fait l’outil

L’outil d’échappement de chaînes convertit du texte sous une forme qui peut figurer dans un littéral de chaîne, et reconvertit des chaînes échappées en texte normal. Il prend en charge neuf cibles : JSON, JavaScript, Java et C#, Python, littéraux de chaîne SQL, champs CSV, texte et attributs XML, expressions régulières et commandes shell POSIX. Chacune suit les règles de son langage, de sorte que le résultat peut être collé directement dans votre code sans erreur de syntaxe.

Cas d’usage typiques : placer un message sur plusieurs lignes ou un chemin Windows dans un fichier de configuration JSON, intégrer un extrait HTML dans une chaîne JavaScript, mettre entre guillemets un nom de fichier contenant des espaces pour un script shell, ou transformer un terme de recherche littéral comme price (USD) en expression régulière qui le trouve exactement.

Utilisation

  1. Choisissez Échapper ou Déséchapper.
  2. Choisissez le langage ou le format.
  3. Collez votre texte dans le champ ou cliquez sur Exemple. Le résultat se met à jour pendant la saisie.
  4. Copiez la sortie, ou cliquez sur Utiliser comme entrée pour inverser la conversion et vérifier qu’on retrouve l’original.

Pour JSON, JavaScript, Java/C# et Python, vous pouvez aussi échapper tous les caractères non ASCII, ce qui donne une chaîne purement ASCII qui résiste à n’importe quel encodage de fichier.

Exemple

La même ligne échappée pour différentes cibles :

Input:       He said "hi" in C:\Temp
JSON:        He said \"hi\" in C:\\Temp
SQL:         He said "hi" in C:\Temp            (only ' is doubled)
Regex:       He said "hi" in C:\\Temp
Shell:       'He said "hi" in C:\Temp'

Règles par format

  • JSON : échappe les guillemets, les barres obliques inverses et les caractères de contrôle, exactement comme JSON.stringify.
  • JavaScript : échappe en plus les apostrophes, les accents graves, les tabulations verticales et les séparateurs de ligne U+2028 et U+2029.
  • Java / C# : échappements par barre oblique inverse et \uXXXX ; le déséchappement accepte aussi les échappements octaux de Java et \x et \U de C#.
  • Python : échappements par barre oblique inverse avec \x, \u et \U ; les échappements inconnus sont conservés tels quels.
  • SQL : double les apostrophes pour les littéraux de chaîne SQL standard.
  • CSV : entoure la valeur de guillemets doubles et double les guillemets internes quand elle contient une virgule, un guillemet, un saut de ligne ou des espaces en bordure.
  • XML : remplace les cinq entités prédéfinies ; le déséchappement décode aussi les références numériques de caractères.
  • Expression régulière : place une barre oblique inverse devant chaque caractère ayant un sens spécial, pour que le motif corresponde littéralement au texte.
  • Shell : entoure la valeur d’apostrophes, qui désactivent toute expansion dans les shells POSIX, et écrit les apostrophes internes sous la forme '\''.

FAQ

› Que signifie échapper une chaîne ?

Certains caractères ont un sens particulier dans un littéral de chaîne, comme le guillemet qui le termine ou un saut de ligne. Échapper les remplace par une séquence sûre, généralement une barre oblique inverse suivie d'une lettre, pour que la chaîne puisse être collée dans du code, une requête ou un fichier sans le casser.

› Faut-il coller les guillemets autour de la chaîne ?

Non. Collez seulement le contenu. Le résultat échappé est ce qui se place entre les guillemets dans votre code. Pour CSV et le shell, qui mettent des guillemets autour de valeurs entières, l'outil ajoute lui-même les guillemets extérieurs si nécessaire.

› L'échappement SQL suffit-il contre l'injection SQL ?

Doubler les apostrophes produit un littéral de chaîne valide, pratique pour écrire une requête à la main ou préparer un script de migration. Dans le code d'une application, utilisez toujours des requêtes paramétrées ou des requêtes préparées plutôt que de construire du SQL avec des chaînes.

› Pourquoi le déséchappement signale-t-il une séquence d'échappement inconnue ?

Chaque langage accepte des échappements différents. JSON, par exemple, n'a ni \x ni \0, l'outil indique donc la position de la première séquence que le langage choisi refuserait. Python conserve les échappements inconnus comme \d tels quels, comme le fait l'interpréteur Python.

› Mon texte est-il téléversé ?

Non. L'échappement et le déséchappement se font dans votre navigateur et rien n'est envoyé à un serveur.