K-Prolog Compiler Version 6.0

国際化と漢字
K-PrologではASCII文字と漢字またはUNICODEで表現された各国文字を使うことが出来ます。
国際化機能は既定値のエンコーディングを指定する、set_prolog_flag(encodeing,Enc)と
入出力ストリームごとに指定する、ストリーム機能選択のエンコーディング指示にしたがって次のように動作します。
- 全ての入出力はASCIIコードと多バイトコードの混在を許します。
文字単位の入出力は、両方のコードを取り扱うことが出来ます。
また、項の入力は、
char_conversion機能により対応文字を持つ多バイトコードを
ASCII文字に変換して行なわれます。
項の出力ではこの変換は行なわれません。
- 漢字を含む文字列の中で、漢字1文字はリストの1要素としてあら
わされています。たとえば、“漢字”のリストとしての長さは2です。
- サポートするencodingは、utf8,eucjp,sjisです。
-
ASCII文字コードと内部コードの変換を行う為に、
算術式として、tokanji(Ascii_code) と
toascii(UCS_code) が用意されいます。
なお、K-Prolog の多バイトコードの内部表現はUNICODEの2バイト表現である、
UCS2となっています。
文字コードの内部表現を意識せずにコーディングするためには、たとえば
get(X),X==0'a のように0'x記法を使用するか、
get(X),X=:="a"のように算術比較を用います。
これらのコーディングは、Prolog処理系間で互換性があります。
get(97) のような書き方は、処理系の間で互換性がありません。
一つ上に戻る
目次に戻る