2.4.3.2 Общий синтаксис экранирования

В дополнение к специфическим escape-последовательностям для специальных важных управляющих символов, Emacs предоставляет несколько видов синтаксиса экранирования, которые можно использовать для задания не-ASCII текстовых символов.

  1. Можно задавать символы по их именам в Юникоде, если таковые имеются. ?\N{ИМЯ} представляет символ Юникода с именем ИМЯ. Таким образом, ‘?\N{LATIN SMALL LETTER A WITH GRAVE}’ эквивалентно ?à и обозначает символ Юникода U+00E0. Для упрощения ввода многострочных строк можно заменять пробелы в именах на непустые последовательности пробельных символов (например, символы новой строки).
  2. Можно задавать символы по их значениям в Юникоде. ?\N{U+X} представляет символ с кодом Юникода X, где X — шестнадцатеричное число. Также ?\uxxxx и ?\Uxxxxxxxx представляют коды xxxx и xxxxxxxx соответственно, где каждый x является одной шестнадцатеричной цифрой. Например, ?\N{U+E0}, ?\u00e0 и ?\U000000E0 все эквивалентны ?à и ‘?\N{LATIN SMALL LETTER A WITH GRAVE}’. Стандарт Юникода определяет коды только до ‘U+10ffff’, поэтому если вы укажете код выше этого, Emacs выдаст ошибку.
  3. Можно задавать символы по их шестнадцатеричным кодам. Шестнадцатеричная escape-последовательность состоит из обратной косой черты, ‘x’ и шестнадцатеричного кода символа. Таким образом, ‘?\x41’ — это символ A, ‘?\x1’ — это символ C-a, а ?\xe0 — это символ à (a с грависом). После ‘x’ можно использовать одну или несколько шестнадцатеричных цифр, так что можно представить таким образом любой код символа.
  4. Можно задавать символы по их коду в восьмеричной системе. Восьмеричная escape-последовательность состоит из обратной косой черты, за которой следует до трех восьмеричных цифр; например, ‘?\101’ для символа A, ‘?\001’ для символа C-a и ?\002 для символа C-b. Таким способом можно задавать только символы с восьмеричным кодом до 777.

Эти escape-последовательности также могут использоваться в строках. См. Не-ASCII символы в строках.