たいした内容ではないのだけれどもはまったのでTwitterではなくブログに残しておく。
C言語系のプログラミング言語で文字列リテラルを定義するとき、特殊文字はバックスラッシュでエスケープする。多く使われるのは改行を意味する「n」と、リテラル終端文字である「”」の二つであろう。
日本語フォントの環境ではバックスラッシュは「¥」(円記号)に表示される(た)のでキーボードの刻印もそのようになっている。また、今まで使ってきたどの開発環境でもこれらを区別することはなかった。
しかし、時代が変わったようで、ASCIIコードの時代はどちらの記号も0x5Cにマッピングされていたのでフォントのグリフが違う、すなわち見た目が違うだけですんでいたのだが、ユニコードになって明確に区別できるようになったようなのだ。
XCodeもこれを区別する。だから今までの感覚で「¥n」「¥”」とやってもエスケープシーケンスとして処理してくれない。
Optionキーを押しながらキーボードの「¥」を押すと「」と入力できる。
グーグル先生で30分近くかかってしまったよ。問題が表現でなく、キーボード入力にあるってわかるまで。
コメント