文字列のエスケープ / アンエスケープ
JSON、JavaScript、HTML、XML、URL コンポーネント、正規表現、SQL リテラル、CSS 文字列、シェル引数向けに、文字列をエスケープ・アンエスケープできる 1 つのツールです。
37 文字 · 39 バイト(UTF-8)
0 文字 · 0 バイト(UTF-8)
すべてブラウザ内で実行されます。データがアップロードされることはありません。
エスケープ/アンエスケープとは?
複数の形式に対応したエスケープツールです。テキストの行き先(JSON 文字列、JavaScript 文字列、HTML、XML、URL コンポーネント、正規表現、SQL 文字列リテラル、CSS 文字列、シェル引数)を選ぶと、正しくエスケープされた形が得られます。逆の変換もできます。
エスケープ/アンエスケープの使い方
- エスケープ または アンエスケープ を選びます。
- 形式 を選びます。
- 入力 に入力または貼り付けます。結果は 出力 に表示されます。
- 入力に使う で、アンエスケープして元に戻ることを確認します。
例
He said "hi" C:\temp
He said \"hi\" C:\\temp
JSON 形式、エスケープモードの結果です。
エスケープ/アンエスケープを使うべき場面
コーディングやデバッグ中の手早い変換に使います。SQL では、アプリケーションでエスケープするよりパラメーター化クエリを優先してください。SQL 形式は ANSI 標準('')に従い、MySQL のバックスラッシュエスケープは扱いません。
エスケープ/アンエスケープの仕組み
各形式は独自の規則を使います。JSON は JSON.stringify の規則(\"、\\、\n、\u001f)、JavaScript は \' に対応したエスケープと \xHH を追加、HTML は & < > " ' をエスケープし、HTML5 のエンティティをすべてアンエスケープ、XML は 5 つの定義済みエンティティ、URL は encodeURIComponent の規則、正規表現は . * + ? ^ $ { } ( ) | [ ] \ / - をバックスラッシュでエスケープ、SQL は(標準 SQL の)シングルクォートを二重化、CSS は引用符、バックスラッシュ、制御文字をエスケープ、シェルは POSIX のシングルクォートを使います。
一般的な使用例
- 複数行のテキストを JSON 文字列に入れる
- 正規表現で使うためにリテラル文字列をエスケープする
- アポストロフィを含む SQL リテラルを書く
- ログからコピーした JSON 文字列をアンエスケープする
よくある質問
JSON 形式と JavaScript 形式の違いは何ですか?
JSON は決まったエスケープの集合とダブルクォートだけを許します。JavaScript 形式はシングルクォートも文脈に関係なくエスケープし、制御文字に \xHH を使います。
SQL のエスケープでインジェクションを防げますか?
引用符の二重化は標準 SQL の文字列リテラルでは正しい方法ですが、確実な防御はパラメーター化クエリです。
正規表現形式で必要なものはすべてエスケープされますか?
/ や - を含め、JavaScript の正規表現で特別な意味を持つすべての文字がエスケープされます。