除了用于重要特殊控制字符的专用转义序列外,Emacs 还提供了多种转义语法,可用于表示非-ASCII 文本字符。
?\N{NAME} 表示名称为 NAME 的 Unicode 字符。例如, ‘?\N{LATIN SMALL LETTER A WITH GRAVE}’ 等价于 ?à,表示 Unicode 字符 U+00E0。为方便输入多行字符串,名称中的空格可以替换为任意非空空白序列(如换行)。
?\N{U+X} 表示 Unicode 码点为 X 的字符,其中 X 是十六进制数。此外,?\uxxxx 和 ?\Uxxxxxxxx 分别表示码点 xxxx 和 xxxxxxxx,每个 x 为一位十六进制数字。例如:?\N{U+E0}、?\u00e0 、?\U000000E0 都等价于 ?à 与 ‘?\N{LATIN SMALL LETTER A WITH GRAVE}’。Unicode 标准只定义到码点 ‘U+10ffff’,若指定更高码点,Emacs 会报错。
?\xe0 是字符 à(带重音符的 a)。‘x’ 后可跟一位或多位十六进制数字,因此可表示任意字符编码。
?\002 表示字符 C-b。只有八进制编码不超过 777 的字符才能用这种方式表示。
这些转义序列也可用于字符串中,See 字符串中的非-ASCII 字符。