文字列のエンコーディングを変換する


Tags: R6RS, 文字列, 入出力, FIXME

R6RS Scheme では文字列は処理系内部では Unicode スカラー値の列として表現されると規定されている。外部ファイルやバイトベクタの内容と内部エンコーディングを相互に変換するためには open-file-input-port/open-file-output-portbytevector->string/string->bytevector の transcoder 引数に適切なコード変換器を指定してやればよいことになっている。

しかしながら、現在のところでは標準の latin-1-codecutf-8-codecutf-16-codec のみをサポートしている処理系しかないのが現状であり、実際上は外部とのやりとりは Unicode を介したものに限定されていると言える。