次: , 前: Converting Representations, 上: Non-ASCII Characters


32.3 表現の選択

既存のバッファや文字列がユニバイトであるときに マルチバイトとして調べたり、その逆のように調べるのが 有用なこともあります

— 機能: set-buffer-multibyte multibyte

カレントバッファの表現方法を設定する。 multibytenil以外であると、バッファはマルチバイトになる。 multibytenilであると、バッファはユニバイトになる。

この関数は、バイト列としてみたバッファ内容を変更しない。 その結果、文字として見たときの内容を変更できる。 マルチバイト表現では1文字とみなされる2バイトの列は、 ユニバイト表現では2文字になる。

この関数は、enable-multibyte-charactersに どちらの表現を使用しているかを記録する。 さらに(オーバレイ、テキスト属性、マーカなどの)バッファ内のさまざまな データを調整して、それ以前と同様に同じテキストに及ぶようにする。

— 機能: string-as-unibyte string

この関数は、各バイトを1文字とみなして stringと同じバイトの文字列を返す。 つまり、値にはstringより多くの文字が含まれることがある。

stringがすでにユニバイトであると、 値はstringそのものである。

— 機能: string-as-multibyte string

この関数は、マルチバイトの各列を1文字とみなして stringと同じバイトの文字列を返す。 つまり、値にはstringより少ない文字が含まれることがある。

stringがすでにマルチバイトであると、 値はstringそのものである。