プログラミングのエスケープシーケンス一覧(\n, \t, \uXXXX と Raw String)

プログラミング 基礎知識 JavaScript Python C#

プログラミング言語(JavaScript, Python, C#, Java, C++)で特殊文字や改行・制御コードを表現するためのエスケープシーケンス(Escape Sequence)一覧です。

1. オンライン エスケープシーケンス 相互変換・確認ツール

テキスト内の改行や特殊記号をエスケープ文字列(\n, \t 等)に相互変換します。

⌨️ この場でエスケープシーケンスを変換する


2. 主要エスケープシーケンス一覧表

シーケンス名称 / 意味実際の文字動作
\nNewline (LF / Line Feed)改行(Unix / Linux / macOS 標準)
\r\nCarriage Return + Line Feed改行(Windows 標準 / ネットワークプロトコル)
\tHorizontal Tab水平タブ(インデント間隔)
\\Backslash文字としてのバックスラッシュ(\)そのもの
\"Double Quoteダブルクォート文字(文字列を囲むクォート内のエスケープ)
\'Single Quoteシングルクォート文字
\uXXXXUnicode Character16進数4桁で指定した Unicode 文字 (例: \u3042 -> “あ”)
\0Null 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";