文字列のエスケープ/アンエスケープ(JavaScript, Java, C#, Python, Go, PHP, Bash)
JavaScript・Java・C#・C/C++・Python・Go・PHP・Bash・PowerShell・正規表現・CSVの文字列リテラルをエスケープ/アンエスケープします。\n、\uXXXX、\x、8進数にも対応。
改行を\nにしたため、リテラルは1行になりました。
文字列の中に特殊文字を書くときの決まりは、言語ごとに異なります。JavaScriptとJavaは\nや\uXXXXを使い、C#は\xの後の16進数を最大4桁まで読み、Cは後続の16進数をすべて読み、Goは\xをバイトとして扱い、PHPはダブルクォートの中でだけエスケープを解釈し、シェルにはまったく別の方法が必要です。このツールは、プレーンテキストを選んだ言語の正しいリテラルにエスケープし、リテラルを各言語の文法に従って元のテキストに戻します。
使い方
- テキスト、またはデコードしたい文字列リテラルを貼り付けます。
- エスケープかアンエスケープかを選びます。
- Python '…'やC#の逐語的文字列 @"…"など、言語と引用符の種類を選びます。
- エスケープする場合は、ASCII以外の文字をエスケープするか、引用符を付けるかを選びます。
- 結果をコピーします。
計算式
エスケープ:\ → \\ · 引用符 → \" · 改行 → \n · タブ → \t · 制御文字 → 言語に応じて\x・\u・8進数
アンエスケープは各言語の文法に従います。JavaScriptは\x、\u、\u{…}、行継続、従来形式の8進数を受け付け、Javaは\377までの8進数と\uXXXX、C#は1〜4桁の\xと\Uを受け付けます。CとGoの8進数・16進数エスケープはバイトで、UTF-8として解釈されます。Pythonは不明なエスケープのバックスラッシュを残し、PHPとBashは不明なエスケープを書かれたまま残します。言語が受け付けないエスケープ(Javaの\q、Goの\')は、行と列の位置とともに報告されます。アンエスケープ時は、前後の引用符と@・r・$などの接頭辞が自動で取り除かれます。
計算例
サンプルには、引用符、改行、タブ、Windowsのバックスラッシュが含まれています。JavaScriptの"…"リテラルにすると、1行目: \"二重引用符\"と'一重引用符'\n2行目:\tC:\\Users\\太郎 — カフェ 😀になります。文字列が二重引用符で囲まれるため、一重引用符はそのまま残ります。C#のテキスト\x41BCをアンエスケープすると、"ABC"ではなく1文字の䆼(U+41BC)になります。C#は16進数を4桁まで読むためです。
よくある質問
Javaで\u000Aを使わないのはなぜですか?
Javaはプログラムを読む前に\uエスケープを変換するため、\u000Aが文字列内の実際の改行になり、コードがコンパイルできなくなります。このツールは代わりに\nと\rを書き出します。
シェルの'…'文字列の中に一重引用符を入れるには?
一重引用符の中には一重引用符を入れられないため、文字列を閉じ、エスケープした引用符を置いて、再び開きます。it'sは'it'\''s'になります。Bashには\'が使える$'…'形式の文字列もあります。
不明なエスケープはエラーになりますか?
言語によって異なります。Java・C#・Goは拒否し(位置付きのエラーになります)、JavaScriptはバックスラッシュを捨て、Python・PHP・Bashはバックスラッシュを残します。Cのコンパイラは警告を出してその文字を使います。
テキストはどこかに送信されますか?
いいえ。エスケープとアンエスケープはブラウザ内で行われます。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/string-escape-tool/
このツールを引用する
kakaoCalc. (2026, November 8). 文字列のエスケープ/アンエスケープ(JavaScript, Java, C#, Python, Go, PHP, Bash). https://kakao.mobile/ja/tools/string-escape-tool/
“文字列のエスケープ/アンエスケープ(JavaScript, Java, C#, Python, Go, PHP, Bash).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/string-escape-tool/.