区切り文字
2種類の区切り文字は、区切り文字衝突を避けるためのエスケープ文字やエスケープシーケンスとは別の手段を提供する。いくつかの言語では、シングルクォート (') とダブルクォート (") の2種類を文字列リテラルの区切り文字として使えるようになっている。
Perlでは以下のようになる。
このように、エスケープを使わずに表現でき、可読性やコードを覚えなければいけない問題が解決する。しかしこの方法は、文字列が「両方の」種類の文字を含む場合には使えない。
区切り文字衝突の他の解決法として、エスケープ文字を使用する方法がある。これは、区切り文字の前にエスケープ文字を置くことで、その文字は区切り文字として使用する意図ではないことを明示するものである。言語設計の見地からはこれで十分であるが、以下のような欠点もある。
大量のエスケープ文字が入ることで可読性が低くなる。例えば、Perlの正規表現の中で「/」という文字自体を使用したいときは「\/」のように書くが、「//」のように2つ続く場合は「\/\/」のようになる。
エスケープ文字として使われる文字を文字通りの文字として表現するたの表記法必要である。例えば、HTMLではエスケープ文字である「&」を文字通りの文字として表現するために「&amp;」という表記法がある。またC言語ではエスケープ文字である「\」を文字通りの文字として表現するために「\\」という表記法がある。
入力するのは簡単だが、その言語をよく知らない人によって理解ができなくなる。