テキスト

String Escape

テキストを文字列リテラル用にエスケープ(引用符、バックスラッシュ、制御文字)してコードに貼り付けられるようにする、またはアンエスケープして元に戻す。

引用符スタイル

                    

To put text containing quotes, line breaks, or backslashes inside a string literal in code, those characters need escaping — otherwise they'll end the string early or get misinterpreted. This tool escapes and unescapes text for a specific syntax.

How to use it

Common uses

Things to keep in mind

The same character (a double quote, for example) is escaped differently depending on context — a JS string, JSON, and a shell each have their own syntax and their own set of special characters.

Double-escaping (escaping already-escaped text) is a common mistake when passing data through multiple layers, like JSON nested inside a shell command.

このツールに関する記事: 文字列エスケープ:JS、JSON、シェル、正規表現でルールが異なる理由

よくある質問

エスケープは正確には何をしますか?

引用符、バックスラッシュ、制御文字(改行やタブなど)を文字列リテラル内の有効なエスケープシーケンスに変換し、テキストをソースコードにそのまま貼り付けられるようにします。

引用符スタイルとunicodeオプションは何のためにありますか?

引用符スタイル(二重引用符、単一引用符、バックティック)は、文字列を壊さないためにどの文字をエスケープするかを決定し、\uXXXXオプションは非ASCII文字をそのままにする代わりにエスケープされたunicodeシーケンスに変換します。

貼り付けたテキストはサーバーに送信されますか?

いいえ、エスケープとそのエスケープ解除はJavaScriptを介してブラウザ内で完全に行われ、データはオンラインに送信されません。

テキストが複数の文脈を連続して通過する場合はどうすればいいですか?

正しい順序でエスケープする必要があります。まず内側の文脈(たとえばJSON)、次に外側の文脈(たとえばそのJSONが挿入されるシェルコマンド)です。順序を間違えたり階層を飛ばしたりすることが、「正しくエスケープしたはず」の文字列が実際には壊れてしまう典型的な原因です。

同じ引用符が文脈によってエスケープのされ方が違うのはなぜですか?

各文脈(JS文字列、JSON、シェル、正規表現)には、それぞれ固有の特殊文字セットと固有のエスケープ方法を持つ独自の構文があります。そのため正しいエスケープはテキスト自体ではなく、それがどこに挿入されるかによって決まります。

記事: テキスト

camelCase、snake_case、kebab-case:どの場面でどれを使うか

なぜcamelCase、snake_case、kebab-caseが存在し、それぞれ普通どこで使われるか。

Text Diff:テキストの差分検出アルゴリズムの仕組み

diffアルゴリズムがテキストの2つのバージョン間の最小変更セットをどう見つけるか。

正規表現:基本と貪欲マッチの罠

正規表現における貪欲マッチと非貪欲マッチの違いと、それが実務でなぜ重要か。

行のソート:アルファベット順と数値順はなぜ違うのか

アルファベット順ソートが数値をテキストとして扱う理由と、数値ソートとの違い。

CRLFとLF:改行コードが今も問題を引き起こす理由

CRLFとLFの違いがどこから来たのか、そしてgitやスクリプトで今も問題を引き起こす理由。

文字数と単語数のカウント:Unicodeがなぜこれを複雑にするか

Unicodeにおいて視覚的に1つの絵文字が複数のコードポイントから成り立つことがある理由。

Lorem Ipsum:このダミーテキストはどこから来て、なぜ意味がないのか

Lorem Ipsumテキストが実際どこから来たのか、そして実際のテキストの代わりに無意味なテキストが使われる理由。

Slugify:タイトルが有効なURLに変換される仕組み

記事タイトルがハイフンで区切られたクリーンで読みやすいURLに変換される仕組み。

Markdown:ドキュメント作成の標準になった理由

HTMLとは違い、Markdownが生のままでも読みやすい理由。

見えない空白文字:見た目が同じテキストの比較がなぜ失敗するのか

見えない空白文字1つが、見た目上同じ2つのテキストの比較を失敗させる仕組み。

テキストの反転:絵文字でなぜ壊れるのか

単純なテキスト反転が、複数のコードポイントから成る絵文字をなぜ壊してしまうのか。

テキスト頻度分析:ワードクラウドから暗号解読まで

文字頻度分析が歴史的にどう単純な換字式暗号の解読に役立ったか。