GNU Emacs Lisp における文字は、内部的には(その) ASCII 値で表わされます。例へ ば、文字 A は内部的には integer の 65 で表わされます。任意の integer を文字と して用いる場合、下位の 8 ビットのみ有効になります。しかし、このことは保証され ていません(それとも保証されている??)。
文字に対する read シンタックスには様々な形式が存在します。個々の文字を読み込む (普通の)シンタックスは、? の後に文字を続けます(e.g., 文字 A に対しては `?A')。 出力できない文字に対する(1つ可能な)方法は、? の後に \ を続け、(その後)その文 字の ASCII 値を 8進数で示します (e.g., C-a に対しては `?\001)。このシンタック スは、どの文字に対しても適用できます。 ASCII 表現より 8 進表現の方が重要な場 合、この方法を用います。
control 文字に対しては、"? \ ^ (その文字の) control 文字以外の文字" という列を 用いることもできます(e.g., 文字 C-i に対しては `?\^I')。 C-i に対してはシン タックス `?\C-i' も有効です。
メタ文字は、その 8ビット目を設定した ASCII 文字の集合として定義されます。これ らの文字は、(文字 Meta-A に対しては) `?\M-A'、 (文字 Meta-a に対しては) `?\M- a' と書きます。 Emacs は、メタ文字をキーシーケンスにおける primitive であると は見なしません。メタキーを用いて定義されたキーシーケンスは、実際には meta- prefix-char を用いたキーシーケンスに変換されています。チャプター 18 [キーマッ プ]、155ページとセクション 18.3 [meta-prefix-char]、160ページ参照。
バックスペース、ニューライン、フォームフィード、タブ、リターンは次のように書く ことができます。?\b ?\n ?\f ?\t ?\r
文字 `\' の後に続けた文字 `()\|;'`"#.,' は、どんな文脈(訳注:context)ででも用 いることができます。スペース文字、タブ、ニューライン、フォームフィードや (明示 的な) control 文字は \ に続けなくてはいけません。しかし、見えない(訳注: invisible)文字を明示的(訳注:explicitly)に入れるよりは、別の方法を用いたほうが 良いでしょう。
文字は常に数字を出力します。このため、以下に (様々な read 形式で)示した文字の リストは数字のリストとして出力されています。
'(?A ?\000 ?\t ?\n ?\f ?\r ?\( ?\) ?\\ ?\| ?\011 ?\^I ?\C-i ?\M-i) => (65 0 9 10 12 13 40 41 92 124 9 9 9 201)
プログラマが個々の文字を扱うのは、まれなことです。 (文字から構成される)ストリ ングを扱うことのほうがより一般的です。