10

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

最简单的方法是什么?

4

3 回答 3

15

要获得代表字符的 ascii 数字 - 正如 Drew 所说 - 在字符前放一个问号并评估该表达式

?a==>97

Number 出现在 minibuffer 中,Cu 写在表达式后面。

反过来也有效

(insert 97)将在缓冲区中插入一个“a”。

顺便说一句,在某些情况下,应该引用该字符

?\"将评估为34

于 2013-11-08T19:39:43.037 回答
7

在 Emacs Lisp 中,字符一个整数。没有单独的字符数据类型。

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

于 2013-11-08T17:28:20.583 回答
6

字符串是一个数组。

(aref "foo" 0)
于 2013-11-08T15:23:50.313 回答