0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
設定
バックスラッシュでテキスト文字列をエスケープまたはアンエスケープします。JSON、C / Java / JS、Python、SQL、Regex、Shell (Bash) の形式に対応しています。非 ASCII をエスケープを使うと、Unicode 文字を
\uXXXX シーケンスに変換できます。制御文字用に \n \t \r \\ \" \b \f \/ と \uXXXX シーケンスをエスケープします
仕組み
エスケープは、テキストの特殊文字(改行、タブ、引用符、そしてバックスラッシュ自体)をバックスラッシュのシーケンス(\n、\t、\"、\\)に変換し、その構文を壊さずにコードの文字列内に挿入できるようにします。
言語ごとに規則が異なります。JSON、C/Java/JS、Python、SQL、Regex、Shell はそれぞれ異なる文字集合をエスケープします。テキストを貼り付ける先のスタイルを選んでください。
アンエスケープは逆の処理をします。\n、\t、\uXXXX などのシーケンスを解釈し、元のテキストを返します。
例
C:\Users\anaC:\\Users\\anaJSON と C/Java/JS では、各バックスラッシュはエスケープシーケンスの始まりと混同しないよう二重にされます。O'BrienO''BrienSQL では、単一引用符をリテラル内に含められるように二重にします(ANSI 標準)。precio (USD)precio \(USD\)Regex では、( ) のようなメタ文字をグループ化ではなくリテラルなテキストとして扱うためにエスケープします。ユースケース
- Windows のパス、JSON、HTML の断片を、コードの文字列内に壊さずに貼り付ける。
- 引用符による構文エラーを避けて、SQL クエリ用の値を準備する。
- メタ文字をエスケープして、リテラルなテキストを正規表現のパターンに変換する。
- ログやソースコードからコピーした、エスケープ済み文字列の元のテキストを復元する。
よくある質問
エスケープのスタイルの違いは何ですか?
言語ごとに認識するシーケンスが異なります。JSON は \' や \0 を受け付けませんが、C と Python は受け付けます。SQL はバックスラッシュではなく引用符を二重にします。Regex はメタ文字をエスケープします。Shell は空白やインタープリターの記号をエスケープします。そのため、貼り付け先のスタイルを選ぶのが望ましいです。
「非 ASCII をエスケープ」オプションは何をしますか?
Unicode 文字(アクセント、絵文字)を \uXXXX のシーケンス(Python と C では \xNN)に変換し、ASCII のみを受け付ける宛先でもテキストが安全になるようにします。
引用符をエスケープすると SQL インジェクションを防げますか?
役に立ちますが、パラメーター化クエリの代わりにはなりません。信頼できないデータには常にパラメーターやプリペアドステートメントを使ってください。エスケープは補完的な防御にすぎません。
入力したテキストはサーバーに送信されますか?
いいえ。エスケープとアンエスケープはすべてブラウザー内で行われます。