文字列エスケープ
JSON、HTML、URL、SQL、Regex形式の文字列エスケープ・アンエスケープを行います。
文字列エスケープとは?
文字列エスケープとは、特殊文字を安全な表現に変換するプロセスです。
• JSON: 引用符、バックスラッシュ、制御文字をエスケープシーケンスに変換
• HTML: &, <, >, ", ' をHTMLエンティティに変換
• URL: 非ASCII文字と予約文字をパーセントエンコーディングに変換
• SQL: シングルクォートを二重にしてSQLインジェクションを防止
• Regex: 正規表現の特殊文字にバックスラッシュを追加してリテラルとして使用
使用例
よくある質問
なぜ文字列をエスケープする必要がありますか?
特殊文字がコードの構文要素として解釈されるのを防ぐためにエスケープします。例えばJSONでは、引用符をエスケープしないと文字列の終わりとして誤認されます。
SQLエスケープでSQLインジェクションを完全に防げますか?
単純なクォートのエスケープだけでは完全な防止は困難です。実務では必ずパラメータ化クエリ(プリペアドステートメント)を使用することが推奨されます。
URLエンコードとエスケープの違いは?
URLエンコードはURL内の安全でない文字を%XX形式に変換するもので、広い意味でエスケープの一種です。encodeURIComponentはURIコンポーネントに使用し、/、?、#なども エンコードします。