我想将Emacs中的字符转换为数字ascii代码,类似于c中的转换char a = 'a'; int i = (int)a
。我已经尝试了string-to-number
和其他一些函数,但似乎没有一个函数让Emacs最终将char作为数字读取。
最简单的方法是什么?
答案 0 :(得分:11)
获取代表角色的ascii-number - 如Drew所说 - 在角色前加上一个问号并评估该表达
?a
==> 97
数字出现在迷你缓冲区中,其中C-u写在表达式后面。
另外反过来
(insert 97)
会在缓冲区中插入“a”。
BTW在某些情况下应引用该字符
?\"
将评估为34
答案 1 :(得分:6)
字符是 Emacs Lisp中的整数。没有单独的字符数据类型。
函数string-to-char
是内置的,可以执行您想要的操作。 (string-to-char "foo")
相当于(aref "foo" 0)
,这是@ abo-abo的答案---但它用C编码。
答案 2 :(得分:5)
String是一个数组。
(aref "foo" 0)