Next: , Previous: , Up: Character Type   [Contents][Index]


2.3.3.2 一般的なエスケープ構文

特に重要なコントロール文字にたいする特別なエスケープシーケンスに加えて、Emacsは非ASCIIテキスト文字の指定に使用できる、何種類かのエスケープ構文を提供します。

最初に、文字をUnicodeの値で指定することができます。?\unnnnはUnicodeのコードポイント‘U+nnnn’の文字を表します。ここでnnnnは、(慣例により)正確に4桁の16進数です。バックスラッシュは、後続の文字がエスケープシーケンスを形成することを示し、‘u’はUnicodeエスケープシーケンスを指定します。

U+ffffより大きなコードポイントをもつUnicode文字を指定するために、若干異なる構文が存在します。?\U00nnnnnnはコードポイント‘U+nnnnnn’の文字を表します。ここでnnnnnnは6桁の16進数です。Unicode標準は‘U+10ffff’までのコードポイントだけを定義するので、これより大きいコードポイントを指定するとEmacsはエラーをシグナルします。

次に文字を16進の文字コードで指定できます。16進エスケープシーケンスはバックスラッシュ、‘x’、および16進の文字コードにより構成されます。したがって‘?\x41’は文字A、‘?\x1’は文字C-a?\xe0は文字à(グレイブアクセントつきのa)になります。任意の16進数を使用できるので、この方法で任意の文字を表すことができます。

最後に、8進の文字コードにより文字を指定できます。8進エスケープシーケンスは、3桁までの8進数字をともなうバックスラッシュにより形成されます。したがって‘?\101’は文字A、‘?\001’は文字C-a?\002は文字C-bを表します。この方法で指定できるのは、8進コード777までの文字だけです。

これらのエスケープシーケンスは文字列内でも使用されます。Non-ASCII in Stringsを参照してください。