Cでのキャストと同様に、Emacsの文字を数値ASCIIコードに変換したいと思いますchar a = 'a'; int i = (int)a
。私はstring-to-number
他のいくつかの機能を試しましたが、最終的にEmacsにcharを数値として読み取らせるものはないようです。
これを行う最も簡単な方法は何ですか?
ドリューが言ったように、文字を表すアスキー番号を取得するには、文字の前に疑問符を付けて、その式を評価します
?a
==>97
Number はミニバッファに表示され、Cu では expression の後ろに書き込まれます。
逆も効く
(insert 97)
バッファに「a」を挿入します。
ところで、場合によっては文字を引用する必要があります
?\"
に評価されます34
文字はEmacs Lisp では整数です。個別の文字データ型はありません。
関数string-to-char
は組み込みであり、必要なことを行います。 @abo-abo の回答である(string-to-char "foo")
と同等ですが、C でコーディングされています。(aref "foo" 0)
文字列は配列です。
(aref "foo" 0)