オンラインで高速かつ安全に文字列をエスケープ
コードの記述やデータのフォーマットを行う際、特殊文字によって構文エラーが発生することがよくあります。JSONペイロード内の意図しない引用符、JavaScript変数内のエスケープされていない改行、CSVファイル内の処理されていないカンマなどは、パースエラーやセキュリティ上の脆弱性を引き起こす原因となります。
このツールを使えば、さまざまなプログラミング環境に合わせて、テキストを安全かつ迅速にエンコード・デコードできます。信頼性の高いJSON エスケープツールが必要な場合でも、データベースクエリ用のリテラル文字列を作成したい場合でも、入力と同時に結果が即座に更新されます。変換処理はすべてウェブブラウザ内で完結するため、データのプライバシーは完全に保護されます。入力したテキストがサーバーに送信されることは一切なく、社外秘のコード、データベースの内容、機密性の高いAPIペイロードにも安全に使用できます。
対応フォーマットとルール
言語やデータフォーマットによって、特殊文字の定義やそのエスケープ(無効化)のルールは異なります。このツールでは、以下の5つの一般的なフォーマットに対応しています。
JSON: JSONでは文字列を厳密にダブルクォーテーションで囲む必要があり、改行、タブ、内部のクォーテーションなどの特殊文字にはバックスラッシュを前置する必要があります。このツールは標準的なJSON文字列化を使用し、100%準拠した出力を保証します。文字列化されたペイロードを含むAPIレスポンスがある場合、JSON 文字列のエスケープ解除を行って簡単に読みやすいテキストに戻すことができます。結果のJSONを整形するには、JSON Formatterをご利用ください。
JavaScript: JSONと似ていますが、JavaScript 文字列 エスケープのルールは少し広範です。このツールは、シングルクォーテーション、ダブルクォーテーション、またはテンプレートリテラル(バッククォート)内に安全に埋め込めるよう文字列を処理します。シングルクォーテーション(')、バッククォート(`)、およびテンプレートリテラル式(${)をエスケープします。アンエスケープ時には、標準エスケープ(\n、\t)、16進数コード(\x20)、8進数シーケンス、およびUnicodeコードポイント(\u00A9や\u{1F600})を解決します。
SQL: データベースのクエリは、ユーザー入力内の未処理のクォーテーションによって頻繁に失敗します。SQL シングルクォーテーション エスケープ機能は、シングルクォーテーションを二重にする('を''に変換する)という標準的なSQLの規則を使用します。これにより、INSERTやUPDATE文の構文を壊すことなく、「O'Connor」のような名前やアポストロフィを含むテキストを安全に挿入できます。
CSV: CSV(カンマ区切り値)は、列の区切りにカンマを、行の区切りに改行を使用します。実際のデータにカンマ、改行、または前後の空白が含まれている場合、ツールは文字列全体をダブルクォーテーションで囲みます。テキスト自体にダブルクォーテーションが含まれている場合は、RFC 4180標準に厳密に従い、二重化("")してエスケープします。
Regex: 正規表現では、*、+、?、[、$などの文字を演算子として使用します。これらの文字を含むリテラル文字列(URL、ファイルパス、数式など)をマッチさせる必要がある場合は、それらをエスケープする必要があります。Regexオプションを使用すると、すべての正規表現メタ文字の前に自動的にバックスラッシュが付与され、リテラルテキストとして扱われるようになります。
よくある利用シーン
JSONへのJSONの埋め込み: APIによっては、JSONオブジェクト内に別のJSONを文字列として渡す必要があります。内部のJSONを通常通りに作成してここに貼り付ければ、エスケープされた文字列をコピーしてメインのペイロードに貼り付けることができます。
SQLスクリプトの作成: データ移行や、名前と説明のリストをデータベースに挿入するスクリプトを手作業で作成している場合、ここに元のテキストを貼り付けることで、すべてのアポストロフィや引用符を正しくエスケープしてからSQLエディタに貼り付けることができます。
動的な正規表現パターンの構築: 正規表現を使用して完全一致のフレーズを検索できる機能を構築する場合、まずユーザーの入力値をエスケープする必要があります。このツールを使えば、複雑な文字列が正規表現エンジン用に正しくエスケープされた状態をすばやく確認できます。
データ崩れの修正: エスケープされていない改行やカンマが含まれているために特定のセルでレイアウトが崩れているCSVファイルを受け取った場合、そのセルの元のデータをここに貼り付けてエスケープし、元のファイルに貼り付けて戻すことができます。
エスケープ処理が必要な理由
処理するデータの中に、プログラミング言語がコードを構成するために使う文字が含まれていると、構文の競合が発生します。例えば、パーサーがダブルクォーテーションを文字列の終わりと認識する場合、テキストの内側にダブルクォーテーションがあると、そこで文字列が終了したと誤認されます。その結果、続くテキストが原因で構文エラーを引き起こします。
エスケープ処理は、パーサーへの合図として機能します。エスケープ文字(通常はバックスラッシュ \)を追加することで、パーサーに「次の文字はコマンドではなく、通常のテキストとして扱うように」と指示します。アンエスケープ(エスケープ解除)はこの逆の処理であり、バックスラッシュを取り除いてテキストを元の読みやすい状態に復元します。
その他のデータエンコードについては、HTMLエンコード/デコードやURLエンコード/デコードツールも便利です。