文字列エスケープ&アンエスケープ

JSON、JavaScript、Java、Python、XML用の文字列内の特殊文字をエスケープしたり、アンエスケープしたりできます。

機能

JSON エスケープ
JavaScript エスケープ
Java エスケープ
Python エスケープ
XML エスケープ

使い方

1. 言語を選択します(JSON、JavaScript、Java、Python、XML)。

2. 「エスケープ」または「アンエスケープ」を選択します。

3. 文字列を貼り付けて結果をコピーします。

このツールについて

引用符、バックスラッシュ、改行などの特殊文字は、コードやデータの文字列リテラルに入れる前にエスケープシーケンスとして書く必要があります。そのルールは言語ごとに違うため、コピー&ペーストしたテキストが構文エラーや設定の破損を招きがちです。このツールは JSON、JavaScript、Java、Python、XML の5つを対象にエスケープとアンエスケープを行います。JSON のエスケープは JSON.stringify と同じで、引用符、バックスラッシュ、制御文字が \"、\\、\n、\u 形式のエスケープになります。JavaScript、Java、Python の各モードはそれぞれの文字列リテラルのルールで引用符、バックスラッシュ、一般的な制御文字を扱い、XML は &、<、>、"、' を実体参照に変換します。テキストを貼り付け、言語と方向を選び、結果をコードにコピーしてください。

よくある質問

文字列をエスケープする必要があるのはどんなときですか?
一部の文字を構文として使う文字列やデータ形式にテキストを入れるときです。たとえば JSON の値の中の引用符、JavaScript での Windows パスのバックスラッシュ、XML の中のアンパサンドなどです。
JSON と JavaScript のエスケープの違いは?
JSON の文字列はダブルクォートで囲む必要があり、制御文字は \n、\t、\u00XX の形で書きます。JavaScript はシングルクォートやテンプレート文字列も使えるので、エスケープでシングルクォートも扱い、制御文字を \x 形式で書くこともあります。
エスケープすると改行はどう表されますか?
実際の改行は \n の2文字になり(復帰は \r)、テキスト全体がコードの1行に収まります。アンエスケープすると実際の改行に戻ります。
エスケープすればインジェクション攻撃を防げますか?
正しい文脈でエスケープすれば役立ちますが、SQL にはパラメーター化クエリ、HTML にはフレームワークのテンプレート機能を使い、シェルコマンドではユーザーの入力から文字列を組み立てないでください。手作業のエスケープは間違いやすいものです。
アンエスケープしても変わらないシーケンスがあるのはなぜですか?
選んだ言語で有効なシーケンスだけが変換されます。別の言語用にエスケープされた文字列(たとえば JSON モードでの XML の実体参照)の場合は、先に対応するモードに切り替えてください。

関連ツール