Emacs Lisp: получение значения ascii символа
Я хотел бы перевести символ в Emacs в его числовой код ascii, подобный casting char a = 'a'; int i = (int)a
в c. Я пытался string-to-number
и несколько других функций, но ни одна из них не заставляет Emacs читать Символ как число в конце.
какой самый простой способ сделать это?
3 ответов
чтобы получить ascii-число, которое представляет символ ,как сказал Дрю, поставьте знак вопроса перед символом и оцените это выражение
?a
==>97
номер появляется в minibuffer, с C-u он написан за выражением.
также обратные работы
(insert 97)
вставить в буфер.
BTW в некоторых случаях символ должен быть процитирован
?\"
будет eval, чтобы 34
символ is целое число в Emacs Lisp. Нет отдельного символьного типа данных.
функции string-to-char
встроен и делает то, что вы хотите. (string-to-char "foo")
эквивалентно (aref "foo" 0)
, что является ответом @abo-abo - - - но он закодирован в C.