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

Échappez du texte pour une chaîne JSON ou JavaScript, une chaîne SQL, un champ CSV, une expression régulière ou un mot du shell, ou annulez l’échappement.

https://codeknife.dev/fr/echapper-deschapper/

## Ce qu’il fait

Échappe du texte pour qu’il tienne dans une chaîne JSON ou JavaScript, une chaîne SQL, un champ CSV, une expression régulière ou un mot du shell, et annule l’échappement. Chaque format échappe exactement les caractères dont il a besoin, et aucun autre.

## Comment l’utiliser

1. Saisissez ou collez du texte, ou déposez un fichier texte.
2. Choisissez la destination du texte (**Chaîne JSON**, **Chaîne JavaScript**, **Chaîne SQL**, **Champ CSV**, **Expression régulière** ou **Mot du shell**) et s’il faut **Échapper** ou **Déséchapper**.
3. Copiez ou téléchargez le résultat, ou utilisez **Utiliser la sortie comme entrée** pour en faire la prochaine entrée.

## Exemples

Échapper `He said "it's fine"` et un saut de ligne :

JSON donne `He said \"it's fine\"\n`, SQL donne `He said "it''s fine"` et le shell donne `'He said "it'\''s fine"'`.

## Bon à savoir

- JSON et JavaScript échappent la barre oblique inverse, le guillemet qui entoure la chaîne, les sauts de ligne et les caractères de contrôle. Le déséchappement lit `\n`, `\t`, `\uXXXX` et similaires ; JavaScript lit aussi `\xHH` et `\u{…}`.
- SQL double l’apostrophe. C’est juste pour un littéral écrit à la main ; pour du code, utilisez des paramètres liés.
- Un champ CSV n’est entouré de guillemets que s’il contient une virgule, un guillemet ou un saut de ligne, et les guillemets à l’intérieur sont doublés.
- Un mot du shell est mis entre apostrophes, et une apostrophe à l’intérieur s’écrit `'\''`, pour que rien ne soit développé.

## Pourquoi chaque format échappe-t-il différemment ?

Chaque syntaxe a ses caractères spéciaux. Une chaîne JSON exige d’échapper guillemets, barres obliques inverses et caractères de contrôle. Une chaîne SQL exige seulement de doubler l’apostrophe. Un champ CSV est entouré de guillemets s’il contient une virgule, un guillemet ou un saut de ligne. Une expression régulière échappe ses opérateurs et un mot du shell est mis entre apostrophes pour que rien ne soit développé.

## Questions fréquentes

### Échapper suffit-il à empêcher l’injection SQL ?

Non. Doubler les apostrophes est ce que montre cet outil, et c’est juste pour un littéral dans une requête écrite à la main, mais ce n’est pas une défense pour du code. Passez plutôt les valeurs en paramètres liés, afin qu’elles ne fassent jamais partie du texte SQL.

### Quelle différence entre une chaîne JSON et une chaîne JavaScript ?

JSON n’autorise que quelques échappements et utilise toujours des guillemets doubles. JavaScript accepte aussi les apostrophes, \x41, et les échappements dans les deux styles de guillemets. Déséchapper en JSON refuse donc des séquences que JavaScript accepterait.

### Cet outil envoie-t-il mon texte quelque part ?

Non. Tout se passe dans votre navigateur. Ce que vous saisissez n’est jamais envoyé à nos serveurs.