Oh MyUtils

文字列エスケープ&アンエスケープ - マルチフォーマット変換 オンライン

JSON、HTML、URL、JavaScript、SQL、XML、CSV、RegExフォーマットの文字列をエスケープ・アンエスケープ。特殊文字を即座に変換 — 100%クライアントサイド処理。

モード
入力
出力

よくある質問

文字列エスケープとは何ですか?

文字列エスケープとは、特殊文字を安全な表現に変換して、JSON、HTML、SQL、URLなどのコンテキストでシンタックスを壊さずに使用できるようにするプロセスです。

文字列エスケープ/アンエスケープツールの使い方は?

タブから対象フォーマット(JSON、HTML、URL、JavaScript、SQL、XML、CSV、RegEx)を選択し、モードトグルでエスケープまたはアンエスケープを選び、入力フィールドにテキストを入力してください。結果は即座に表示されます。

このツールを使用する際、データは安全ですか?

はい。このツールはすべてのデータをブラウザ内で100%クライアントサイドで処理します。テキストがサーバーに送信されることはありません。

JSONエスケープとJavaScriptエスケープの違いは?

JSONエスケープは厳格なRFC 8259仕様に従い、限られたエスケープシーケンスのみを使用します。JavaScriptエスケープはシングルクォート、ダブルクォート、バッククォートで区切れるため、より広範囲です。

URLエンコードとHTMLエスケープはいつ使い分けますか?

URLに特殊文字を含める必要がある場合はURLエンコードを使用します。Webページで特殊文字をテキストとして表示する場合はHTMLエスケープを使用します。

SQLエスケープはどのようにSQLインジェクションを防ぎますか?

ユーザー入力文字列の特殊文字をエスケープすることで、攻撃者が文字列リテラルから抜け出すことを防ぎます。ただし、本番アプリケーションではパラメータ化クエリの使用が推奨されます。

アンエスケープの結果がおかしいのはなぜですか?

一般的な原因:間違ったフォーマットの選択、二重エスケープされた入力、同じ文字列内の混合エスケープフォーマット、または不正なエスケープシーケンス。

コード例

// JSON Escape/Unescape
const escaped = JSON.stringify(text).slice(1, -1);
const unescaped = JSON.parse(`"${escaped}"`);

// HTML Escape
const entities = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' };
const escapeHtml = text => text.replace(/[&<>"']/g, c => entities[c]);

// URL Encode/Decode
const encoded = encodeURIComponent('hello world'); // hello%20world
const decoded = decodeURIComponent('hello%20world'); // hello world

// SQL Escape
const escapeSql = text => text.replace(/'/g, "''");
console.log(escapeSql("O'Brien")); // O''Brien

// RegEx Escape
const escapeRegex = text => text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
console.log(escapeRegex('file.txt')); // file\.txt

関連ツール