JFP 開発ガイド

概説

Solaris では、テキストデータを複数バイト表現 (ファイルコードとも呼ぶ) の形でファイルに格納します。一方、アプリケーションの内部でテキストデータを取り扱う際は、第 2 章「国際化 API での日本語処理」第 3 章「日本語ロケールと文字分類」で紹介したように、ワイド文字表現 (プロセスコードとも呼ぶ) の形で行うと便利な場合があります。したがって、日本語データを扱うアプリケーションでは、複数バイト表現とワイド文字表現の相互変換を行う場面がしばしば生じます。XPG はこの用途の API を用意しており、アプリケーションでのさまざまな相互変換を支援します。

また、日本語テキストで使用される文字集合は同じでもエンコーディングが異なるために、アプリケーションがテキストデータとして正しく取り扱えない場合があります。アプリケーションが自らの責任でエンコーディングの変換を行うように開発することもできますが、その場合、変換可能なすべてのエンコーディングに関する情報がアプリケーションに含まれていなくてはなりません。また、新しいエンコーディングをサポートする場合には、アプリケーションの再コンパイルが必要になります。

このような事態を避けるためには、コード変換に関するルール、または変換サービスそのものをアプリケーション本体から切り離し、変換前のエンコーディングと変換後のエンコーディングを指定して、動的に変換サービスを呼び出します。XPG はこの用途の API を用意しており、汎用のコード変換を支援します。