エスケープ処理
特別な意味を持つ文字の「特別」を無効化するよ
その文字の前に「特別な意味を無効化する文字」を置いたり、他の文字の組み合わせに置き換えたりするよ
プログラミングの話とかで出てくるよ
簡単に書くよ
エスケープ処理(読:エスケープショリ 英:escape processing)とは
「これが書いてあったら、こうしてね!」な意味を持つ特別な文字を、別の文字の組み合わせに置き換えたりして、普通の文字として認識させること
です。
詳しく書くよ
サクっと一言で説明すると
特別な意味を持つ文字の「特別」を無効化する処理
が「エスケープ処理」です。
例えば、そうですね。
とあるプログラミング言語「ピヨピヨ言語」で書かれた以下の処理が あったとしましょう。
print "piyota";
ピヨピヨ言語において、これは画面に「piyota」と表示する処理です。
「print」の部分が「『"』で囲まれた部分の文字を画面に表示してよ」な命令になっています。
さて、ここで問題です。
画面に「piyo"ta」と表示したい場合は、どのように書けば良いでしょうか?
そうですね。
print "piyo"ta";
と書けば良いのです。
……と思ったら、エラーになりました。
理由は、書いた処理におかしな部分があったからです。
「print」は「『"』で囲まれた部分の文字を画面に表示してよ」な命令です。
print "piyo"ta";
において「"」で囲まれた部分は「"piyo"」の部分です。
「ta"」が余計ですよね。
そのようにパソコンさんは解釈してしまいました。
これは困りましたね。
ピヨ太君は「piyo"ta」を「"」で囲まれた部分として指定したつもりでした。
でもパソコンさんは「piyo」を「"」で囲まれた部分として認識してしまいました。
(他にも使いどころはありますが)そんな困った状況を解決するときに出てくるのがエスケープ処理です。
ピヨピヨ言語には「『\』という文字の次に書いた文字は特別な意味が無効化されるよ」というルールが ありました。
これを使います。
ピヨ太君は
print "piyo"ta";
を
print "piyo\"ta";
に書き換えました。
普通の文字として認識してほしい「"」の前に、次に書いた文字の特別な意味を無効化する「\」を付けたのです。
これでパソコンさんは「piyo」の後ろに付いている「"」を特別な意味を持たない普通の文字「"」として認識するようになりました。
「『"』で囲まれた部分の文字を画面に表示してよ」な命令である「print」における「ここからここまで表示するのね」の範囲の区切りと認識しなくなったのです。
これでパソコンさんは画面に「piyo"ta」と表示してくれるようになりました。
めでたし、めでたし。
これがエスケープ処理の一例です。
特別な意味を持つ「"」の前に特別な意味を無効化する文字「\」を置いて「\"」にすることで「"」を表示範囲の区切りではなく文字の「"」と認識させました。
もう一例、見てみましょう。
今度はホームページの話です。
ホームページのファイルの書き方ルール(HTML)において
「<」と「>」で囲まれた部分は特別な意味があるよ
というルールがあります。
……と言うと、ちょっと語弊のある言い方になってしまいますかね。
とりあえず
HTMLにおいて「<」と「>」は特別な文字
というのを頭に置いておいてください。
例えばホームページのファイルに
<hr>
と書くと、実際の画面上には
と表示されます。
「<」と「>」で囲んで「<hr>」と書くと「ここに横線を引いてよ!」な指定になるのです。

それでは、画面上に
<hr>
と表示したい場合は、どうすれば良いのでしょうか?
そのまま「<hr>」と書くと横線になってしまいます。
ここで登場するのがエスケープ処理です。
HTMLには
・「<」と書くと「<」と表示される
・「>」と書くと「>」と表示される
というルールがあります。

※実際には、HTMLのルールというより、ホームページを見るときに使うソフト(Webブラウザ)が書かれた内容をどのように解釈するかのルールでしょうけどね。そこら辺を気にするとややこしいことになりそうなので、今回は気にしないことにします。
そこで、ホームページのファイルには
<hr>
と書いてあげるのです。
そうすると画面上には
<hr>
と表示されます。

これで画面に横線ではなく「<hr>」と表示できました。
めでたし、めでたし。
これもエスケープ処理です。
特別な意味を持つ「<」「>」を「<」「>」に置き換えることで「<」「>」をHTMLにおける特別な意味を持つ文字ではなく、文字の「<」「>」と認識させました。

他にも、いろいろなやり方や使いどころがありますけどね。
基本は
その文字の持つ特別な意味を無効化する
です。
それさえ覚えておけば、そんなに困らないと思います。
一言でまとめるよ
まぁ「エスケープ処理」って単語が出てきたら「特別な意味を持つ文字の『特別』を無効化する処理なんだな~」と お考えください。
おまけ
■訳してみるよ
「escape(エスケープ)」の意味は「逃げる」とか「逃れる」とか「脱出する」とかです。
「処理」は日本語ですね。
何となく くっつけると
(特別な意味から)逃れる処理
となります。
■検索してみる?






