Common Lisp はシステムが使う文字コードを定義してませんが、多くのシステムは英数字を ASCII コードで表現しているでしょう。 1 文字 (character)を表現するには次のように指定します。
#\文字
ここで指定できる文字は常に 1 文字であり、複数の文字を列挙する文字列ではありません。 ただし、視覚的な文字として表現できない空白文字や改行文字などは、次のような特殊文字として表現されます。
文字 | 展開文字 |
---|---|
#\Space | 空白スペース |
#\Tab | タブ |
#\Rubout | 消去 |
#\Return | 復帰 |
#\LineFeed | 改行 |
#\Page | 改ページ |
文字データは数値による文字コードで表現されているため、必要に応じて文字をコードに変換したり、数値コードを文字に変換することがあります。 文字を数値に変換するには char-code 関数を使い、数値を文字に変換するには code-char 関数を使います。
char-code char
code-char code &optional (bits 0) (font 0)
char-code 関数の引数 char には、数値コードに変換したい文字を指定します。 逆に code-char 関数の code には、文字に変換したい数値を指定します。 それ以降は、文字コートの属性を指定するオプション引数で、省略することができます。
> (char-code #\A) 65 > (code-char 66) #\B > (char-code #\Space) 32 > (char-code #\Tab) 9
このコマンドでは、文字 "A" をコードに変換し、それが 65 であることを確認してます。 同様に、数値 66 を文字に変換すると "B" であることがわかります。