Emacs Lisp:获得ascii的角色价值

Ron*_*Ron 7 ascii elisp char

我想将Emacs中的一个字符翻译成其数字ascii代码,类似于char a = 'a'; int i = (int)ac中的强制转换.我已经尝试string-to-number了一些其他功能,但似乎没有一个能让Emacs最终将char作为数字读取.

最简单的方法是什么?

And*_*ler 12

为了获得代表角色的ascii-number - 如Drew所说 - 在角色前加上一个问号并评估该表达式

?a ==> 97

数字出现在迷你缓冲区中,Cu表示在表达式后面.

反作用也是如此

(insert 97) 将在缓冲区中插入"a".

BTW在某些情况下,应该引用该字符

?\" 将评估为 34


Dre*_*rew 6

字符 Emacs Lisp中的整数.没有单独的字符数据类型.

功能string-to-char是内置的,并做你想要的. (string-to-char "foo")相当于(aref "foo" 0),@ abo-abo的答案---但它用C编码.


abo*_*abo 5

String是一个数组.

(aref "foo" 0)
Run Code Online (Sandbox Code Playgroud)