我想将 Emacs 中的字符转换为其数字 ascii 代码,类似于char a = 'a'; int i = (int)a
c 中的强制转换。我已经尝试string-to-number
了一些其他功能,但似乎没有一个能让 Emacs 最终将 char 读取为数字。
最简单的方法是什么?
要获得代表字符的 ascii 数字 - 正如 Drew 所说 - 在字符前放一个问号并评估该表达式
?a
==>97
Number 出现在 minibuffer 中,Cu 写在表达式后面。
反过来也有效
(insert 97)
将在缓冲区中插入一个“a”。
顺便说一句,在某些情况下,应该引用该字符
?\"
将评估为34
在 Emacs Lisp 中,字符是一个整数。没有单独的字符数据类型。
功能string-to-char
是内置的,可以做你想做的。 (string-to-char "foo")
相当于(aref "foo" 0)
,这是@abo-abo 的答案 --- 但它是用 C 编码的。
字符串是一个数组。
(aref "foo" 0)