Однобайтовое и многобайтовое текстовые представления используют разные
коды символов. Допустимые коды символов для однобайтового представления
в диапазоне от 0 до #xFF (255) — значения, которые могут
поместиться в один байт. Допустимые коды символов для многобайтового
представления в диапазоне от 0 до #x3FFFFF. В этом
пространстве кодов значения от 0 до #x7F (127) предназначены
для ASCII символов, а значения от #x80
(128) до #x3FFF7F (4194175) — для не-ASCII
символов.
Коды символов Emacs являются надмножеством стандарта Unicode. Значения от 0 до
#x10FFFF (1114111) соответствуют символам Unicode с тем же
кодовым числом; значения от #x110000 (1114112) до
#x3FFF7F (4194175) представляют символы, не объединенные с
Unicode; а значения от #x3FFF80 (4194176) до
#x3FFFFF (4194303) представляют восьмибитные необработанные
байты.
Эта функция возвращает t, если charcode
является допустимым символом, и nil в противном случае.
(characterp 65)
⇒ t
(characterp 4194303)
⇒ t
(characterp 4194304)
⇒ nil
Эта функция возвращает наибольшее значение, которое может иметь допустимый
кодовый пункт символа в Emacs. Если необязательный аргумент unicode
не равен nil, она возвращает наибольший кодовый пункт символа,
определенный стандартом Unicode (который меньше максимального поддерживаемого
Emacs кодового пункта).
(characterp (max-char))
⇒ t
(characterp (1+ (max-char)))
⇒ nil
Эта функция возвращает символ, чье имя Unicode равно string.
Если ignore-case не равен nil, регистр в
string игнорируется. Эта функция возвращает nil, если
string не обозначает символ.
;; U+03A3
(= (char-from-name "GREEK CAPITAL LETTER SIGMA") #x03A3)
⇒ t
Эта функция возвращает имя Unicode для char. Она возвращает
nil, если char не является символом или не имеет
имени Unicode.
Эта функция возвращает байт по позиции символа pos в текущем буфере. Если текущий буфер однобайтовый, это буквально байт по этой позиции. Если буфер многобайтовый, значения байтов ASCII символов совпадают с кодовыми пунктами символов, тогда как восьмибитные необработанные байты преобразуются в свои 8-битные коды. Функция сигнализирует об ошибке, если символ по pos не является ASCII.
Необязательный аргумент string означает получение значения байта из этой строки вместо текущего буфера.