プログラミングのエスケープシーケンス一覧(\n, \t, \uXXXX と Raw String)
プログラミング 基礎知識 JavaScript Python C#
プログラミング言語(JavaScript, Python, C#, Java, C++)で特殊文字や改行・制御コードを表現するためのエスケープシーケンス(Escape Sequence)一覧です。
1. オンライン エスケープシーケンス 相互変換・確認ツール
テキスト内の改行や特殊記号をエスケープ文字列(\n, \t 等)に相互変換します。
⌨️ この場でエスケープシーケンスを変換する
2. 主要エスケープシーケンス一覧表
| シーケンス | 名称 / 意味 | 実際の文字動作 |
|---|---|---|
\n | Newline (LF / Line Feed) | 改行(Unix / Linux / macOS 標準) |
\r\n | Carriage Return + Line Feed | 改行(Windows 標準 / ネットワークプロトコル) |
\t | Horizontal Tab | 水平タブ(インデント間隔) |
\\ | Backslash | 文字としてのバックスラッシュ(\)そのもの |
\" | Double Quote | ダブルクォート文字(文字列を囲むクォート内のエスケープ) |
\' | Single Quote | シングルクォート文字 |
\uXXXX | Unicode Character | 16進数4桁で指定した Unicode 文字 (例: \u3042 -> “あ”) |
\0 | Null Character | 終端文字 (C言語文字列終端等) |
3. なぜエスケープが必要なのか?(クォートとパスの脱出)
文字列のリテラルを宣言する際、文字列を囲んでいる記号(" または ')と同じ記号を文字の中に含めると、構文木が文字列の終了だと誤認して SyntaxError になります。
// ❌ 構文エラーになる(Parserが途中で文字列が終わったと誤認)
const msg = "He said "Hello" to me.";
// ✅ バックスラッシュでエスケープして「単なる文字」であることを明示
const msg = "He said \"Hello\" to me.";
4. ダブルエスケープの回避策:Raw String (生文字列)
正規表現やファイルパス(C:\Users\Name\file.txt)を記述する際、バックスラッシュを \\ と2重に書く必要が生じます。これを回避するために各言語に Raw String 記法が存在します。
① JavaScript (String.raw)
const filePath = String.raw`C:\Users\sakai\Desktop\portfolio`;
console.log(filePath); // "C:\Users\sakai\Desktop\portfolio"
② Python (r"...")
# \n や \t をエスケープ処理せずそのまま解釈させる
pattern = r"C:\new_folder\test.txt"
③ C# (@"..." / """...""")
string path = @"C:\Users\sakai\Desktop";