Next: Character Properties, Previous: Selecting a Representation, Up: Non-ASCII Characters [Contents][Index]
ユニバイトやマルチバイトによるテキスト表現は異なる文字コードを使用します。ユニバイト表現にたいして有効な文字コードの範囲は0から#xFF(255)でこれは1バイト範囲に収まる値です。マルチバイト表現にたいして有効な文字コードの範囲は0から#x3FFFFFです。このコード空間では値0から#x7F(127)がASCII文字用、値#x80(128)から#x3FFF7F(4194175)が非ASCII文字用になります。
Emacsの文字コードは、Unicode標準のスーパーセット(superset:
上位集合)です。値0から#x10FFFF(1114111)は同じコードポイントのUnicode文字に対応します。値#x110000(1114112)から#x3FFF7F(4194175)はUnicodeに統一されていない文字、値#x3FFF80(4194176)から#x3FFFFF(4194303)は8ビットrawバイトを表します。
これはcharcodeが有効な文字ならt、それ以外はnilをリターンする。
(characterp 65)
⇒ t
(characterp 4194303)
⇒ t
(characterp 4194304)
⇒ nil
この関数は有効な文字コードポイントが保有し得る最大の値をリターンする。
(characterp (max-char))
⇒ t
(characterp (1+ (max-char)))
⇒ nil
この関数はカレントバッファー内の文字位置posにあるバイトをリターンする。カレントバッファーがユニバイトなら、その位置のバイトをそのままリターンする。バッファーがマルチバイトなら、8ビットrawバイトは8ビットコードに変換される一方で、ASCII文字のバ値は文字コードポイントと同じになる。この関数はposにある文字が非ASCIIならエラーをシグナルする。
オプション引数stringはカレントバッファーのかわりに文字列からバイト値を得ることを意味する。