GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Character-Codes.html ・ emacs-doc.conao3.com

34.5 文字コード

ユニバイトおよびマルチバイトのテキスト表現では、それぞれ異なる文字コードが使用されます。ユニバイト表現で有効な文字コードは0から#xFF (255)までであり、これは1バイトに収まる値です。マルチバイト表現で有効な文字コードは0から#x3FFFFFまでです。このコード空間において、0から#x7F (127)までの値はASCII文字用であり、#x80 (128)から#x3FFF7F (4194175)までの値は非ASCII文字用です。

Emacsの文字コードは、Unicode標準のスーパーセットです。0から#x10FFFF (1114111)までの値は、同一のコードポイントを持つUnicode文字に対応し、#x110000 (1114112)から#x3FFF7F (4194175)までの値はUnicodeと統一されていない文字を、#x3FFF80 (4194176)から#x3FFFFF (4194303)までの値は8ビットの生バイトを表します。

関数: characterp charcode

これは、charcode が有効な文字であれば t を、そうでなければ nil を返します。

(characterp 65)
     ⇒ t
(characterp 4194303)
     ⇒ t
(characterp 4194304)
     ⇒ nil
関数: max-char &optional unicode

この関数は、Emacsにおいて有効な文字コードポイントが取り得る最大値を返します。オプション引数 unicode が nil 以外の場合、Unicode標準で定義されている最大の文字コードポイント(Emacsがサポートする最大コードポイントよりも小さい値)を返します。

(characterp (max-char))
     ⇒ t
(characterp (1+ (max-char)))
     ⇒ nil
関数: char-from-name string &optional ignore-case

この関数は、Unicode名が string である文字を返します。ignore-case が nil 以外の場合、string では大文字小文字は区別されません。string が文字を指定していない場合、この関数は nil を返します。

;; U+03A3
(= (char-from-name "GREEK CAPITAL LETTER SIGMA") #x03A3)
     ⇒ t
関数: char-to-name char

この関数は char の Unicode 名を返します。char が文字でないか、Unicode 名を持たない場合は nil を返します。

関数: get-byte &optional pos string

この関数は、現在のバッファの文字位置 pos にあるバイトを返します。現在のバッファがユニバイトの場合、これは文字通りその位置にあるバイトとなります。バッファがマルチバイトの場合、ASCII 文字のバイト値は文字コードポイントと同じになりますが、8ビットの生バイトは対応する8ビットコードに変換されます。pos の文字が ASCII 以外である場合、この関数はエラーを通知します。

オプション引数 string は、現在のバッファではなく、その文字列からバイト値を取得することを意味します。