As it is well known, characters in emacs are indistinguishable from the
integer number representing them, so much so that the form (eq ?A 65)
returns t.
Nevertheless, there are situations in
which one might want to start out with an integer, such as 9, and print
the associated character representation, such as ?\C-i.
For example, when one evaluates an expression such as 9 using the
function eval-last-sexp, the minibuffer shows the result of this
evaluation, among other things, as (#o11, #x9, ?\C-i), indicating that
the number 9 may be alternatively represented as #o11, #x9, ?\C-i.
Specifically I'd like a command, say char-representation-of-number which gives the third representation above, so that
(char-representation-of-number 1) ⇒ "?\C-a"
(char-representation-of-number 9) ⇒ "?\C-i"
(char-representation-of-number 65) ⇒ "?A"
Is there a native command in emacs allowing one to do so?
PS: Note that the command single-key-description (see How to get the string representation of a keymap event?) does approximately what I want, but not quite. For example:
(single-key-description 9) ⇒ "TAB" ;; (I wish this was "?\C-i")
(single-key-description 8) ⇒ "C-h" ;; I wish this was "?\C-h")
(single-key-description 65) ⇒ "A" ;; I wish this was "?A")
In all of these cases, evaluation of the output of single-key-description using eval-last-sexp doesn't give you the input number back.