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

JSON、HTML、URL、JavaScript、SQL、RegExpの文字列をエスケープまたはアンエスケープします。両方向のエンコードおよびデコードに対応しています。

文字列エスケープ / アンエスケープの使い方

  1. 1入力フィールドに文字列を貼り付けます。
  2. 2エンコード形式(JSON、HTML、URLなど)を選択します。
  3. 3エスケープまたはアンエスケープの方向を選択します。
  4. 4出力文字列をコピーします。
Zenovayアナリティクス

創業者のためのアナリティクス。

  • リアルタイムの訪問者トラッキング
  • プライバシーファースト、クッキーバナーなし
  • 2分でセットアップ
Zenovayを見る

よくある質問

エスケープとエンコーディングの違いは何ですか?
エスケープは、基になるデータ表現を変更せずに、特定のコンテキスト内で文字列を安全にするために、特殊文字(バックスラッシュなど)を追加します。例えば、JSONの文字列"He said \"hello\""は内部の引用符をエスケープします。URLエンコーディング(パーセントエンコーディング)は文字を%XXシーケンスに変換します。これは技術的にはエスケープではなくエンコーディングです。HTMLエスケープは<を&lt;に変換して、マークアップではなくテキストとして扱われます。どちらも文字列の表現方法を変更しますが、デコード/エスケープ解除された値は同じままです。
URLエンコーディングとHTMLエンコーディングはいつ使用すべきですか?
URLエンコーディング(パーセントエンコーディング)はクエリ文字列とURLパスセグメント用です:encodeURIComponent("a b") → "a%20b"。URLを動的に構築するときに使用します。HTMLエンティティエンコーディングはHTMLマークアップにテキストを埋め込むためのものです:"<script>" → "&lt;script&gt;"。ユーザーが提供したコンテンツをHTMLに出力するときに使用します(XSSを防ぐため)。JSONエスケープはJSONペイロードまたはJavaScriptコードに文字列を埋め込むためのものです。それぞれ独自のコンテキストがあります。間違ったものを使用するとセキュリティ上のリスクがあります。
C/JavaScriptの文字列エスケープとは何ですか?
JavaScriptとCは文字列リテラル内でバックスラッシュエスケープを使用します:\n(改行)、\t(タブ)、\r(キャリッジリターン)、\\(リテラルバックスラッシュ)、\"(ダブルクォート)、\'(シングルクォート)、\0(ヌルバイト)、\uXXXX(Unicodeコードポイント)。このエスケープは、文字列をソースコードに埋め込む場合に必要です。例えば、改行を含む文字列がある場合、JSONでは\nとして表現され、JS文字列リテラルでも\nとして表現されます。
SQLエスケープとは何ですか?
SQLエスケープは、単一引用符(SQLの文字列区切り文字)を二重単一引用符('')に置き換えます。例えば、O'BrienはSQL文字列ではO''Brienになります。これはSQLインジェクションを防ぎますが、パラメータ化されたクエリの代わりではありません。代わりに準備済みステートメントを使用してください。このツールはSQL形式の出力がどのように見えるかを示していますが、本番コードではパラメータ化されたクエリを常に使用してください:INSERT INTO users (name) VALUES ($1)と値を個別に渡します。
RegExpエスケープとは何ですか?
正規表現エスケープは、正規表現パターンで特殊な意味を持つ文字の前にバックスラッシュを追加します:. * + ? ^ $ { } [ ] ( ) | \。例えば、正規表現パターンとしての文字列"1.0"は"1X0"にマッチします(ドットは任意の文字にマッチします)。エスケープ:"1\.0"はリテラル文字列"1.0"のみにマッチします。ユーザー入力から正規表現パターンを構築する場合は、正規表現エスケープを使用します:new RegExp(escapeRegExp(userInput))。