UTILS.
100% ブラウザ内で完結
🔤

ソースコード文字列エスケープ / アンエスケープ

テキストを Java、C#、C/C++、JavaScript、JSON、SQL、XML/HTML の文字列リテラルとしてエスケープまたはアンエスケープします。1 ツールで 7 言語、すべてブラウザ内。

— ここに結果が表示されます —

このツールについて

ソースコード文字列エスケープ / アンエスケープは、任意のテキストを選んだプログラミング言語の安全な文字列リテラルに変換し、またリテラルを平文に戻します。複数行のブロック、パス、引用符を含むテキストを壊さずにソースコードへ貼り付けたいときに、すぐ役立つヘルパーです。すべては純粋な文字列変換としてブラウザ内で実行され、何もアップロードされません。

各言語は独自のエスケープテーブルを使います。JavaScript と JSON はバックスラッシュ、二重引用符、制御文字セット(\n \r \t \b \f)をエスケープし、その他の制御文字や非 ASCII 文字には \uXXXX を出力します。Java は UTF-16 コード単位に対する \uXXXX を用いた同じ C スタイルのセットを使います。C、C++、C# はバイトに対して \0 \a \v と \xHH を追加します。SQL は単一引用符を 2 つに重ねます('' )。これは文字列リテラルに引用符を埋め込む ANSI 標準の方法です。XML/HTML は & < > " ' を &amp; &lt; &gt; &quot; &apos; に置き換え、その他の非印字文字には &#nnn; を出力します。

アンエスケープは同じテーブルを逆にたどります。C 系言語では \n、\t、\xHH、\uXXXX、\u{...} のシーケンスを解析し、SQL では重ねられた引用符をまとめ、XML/HTML では名前付きおよび数値(&#nnn; / &#xHH;)のエンティティを解決します。対象言語と、エスケープするかアンエスケープするかを選びます。このツールは JSON 専用や HTML 専用のエスケープツールより広く、7 つの対象すべてを 1 か所で扱います。

よくある質問

どの言語がサポートされていますか?
JavaScript、JSON、Java、C#、C/C++、SQL、XML/HTML です。それぞれ独自のエスケープ規則を使います。例えば JavaScript/Java/JSON では \uXXXX、C 系では \xHH と \0、SQL では重ねた単一引用符、XML/HTML では名前付きおよび数値のエンティティです。
非 ASCII 文字はどう扱われますか?
JavaScript、JSON、Java では \uXXXX(U+FFFF を超える文字にはサロゲートペア)を出力します。C と C# はバイトに \xHH を使えます。XML/HTML は印字可能な Unicode をそのまま残し、5 つのマークアップ文字と制御コードだけを &#nnn; としてエスケープします。
エスケープ済み文字列を逆変換できますか?
はい。方向をアンエスケープに切り替えると、その言語のエスケープシーケンスを平文に戻します。\uXXXX、\xHH、\u{...}、重ねられた SQL の引用符、名前付きまたは数値の HTML/XML エンティティがすべてデコードされます。
JSON や HTML のエスケープツールと何が違いますか?
それらは単一の形式を扱います。このツールは 7 つの言語対象を、それぞれ固有のエスケープテーブルとともに 1 か所で扱うため、ツールを切り替えずに同じテキストを Java リテラル、SQL 文字列、XML 属性用にエスケープできます。

その他のツール