双方向の変換において、入力、および出力データの文字コードを指定することができます。入力データ、および出力データの文字コードは、ユーザ固有フォーマットとXML文書について、それぞれ環境設定ファイルに指定します。
入出力データの文字コードは、環境設定ファイルで指定します。指定できる文字コードは、ユーザ固有フォーマットがEUC-JP、シフトJIS、JISコード、UTF-8/UCS2で、XML文書がUTF-8、UTF-16ビッグエンディアン、UTF-16リトルエンディアン、EUC-JP、シフトJISです。これらは入力、出力のそれぞれで指定できます。
ユーザ固有フォーマットについては、入力されたデータの文字コードの判定は行っていませんので、入力データには、環境設定ファイルで指定した文字コードの適切なデータを入力してください。
入力XML文書については、環境設定ファイルで文字コードが明示的に指定されていない場合には、XML文書内のBOM(Byte Order Mark)やXML宣言の符号化宣言(encoding宣言)をもとに自動的に判定を行います。環境設定ファイルで文字コードが明示されている場合には、自動判定は行わないため、その分だけ高速に処理されますが、BOMやencoding宣言も参照されませんので、適切な文字コードのデータを入力してください。
文字コード変換モジュール
文字コード変換機能は、内蔵している「標準コード変換」(iconv)を使用しており、その仕様に従います。また、Formatmanagerの動作するマシンにInterstage Charset Managerがインストールされている場合には、そちらの標準コード変換が優先して使用されます。Charset Manager 6.0/V6.0L10以降の標準コード変換に対応しています。なお、内蔵している標準コード変換では、文字コード変換表が使用できないため、規定されたコード範囲外の文字(外字)の変換はできません。標準コード変換の詳細については、Interstage Charset Managerのマニュアルを参照してください。
標準コード変換におけるコード変換仕様は、環境変数ICONV_CONVERT_TYPEの指定に従います。
Unicode系文字コードでの各属性の文字コード
UNICODE(UCS-2BE)、およびUNICODE(UCS-2LE)で各属性に適用される文字コードは以下のとおりです。
属性 | UNICODE(UCS-2BE) | UNICODE(UCS-2LE) | 備考 |
---|---|---|---|
X属性 | UTF-8(3バイト)(注3) | UTF-8(3バイト) |
|
K属性 | UCS2BE | UCS2LE | ASCII範囲内を除く(注1) |
B属性 | バイナリ | バイナリ |
|
H属性 | バイナリ | バイナリ |
|
N属性 | UTF-8(3バイト)(注2) | UTF-8(3バイト)(注2) |
|
9属性 | UTF-8(3バイト)(注2) | UTF-8(3バイト)(注2) | 符号部はASCII系(カスタマイズ可) |
C属性 | UTF-8(3バイト)(注2) | UTF-8(3バイト)(注2) |
|
P属性 | バイナリ | バイナリ | 符号部はASCII系(カスタマイズ可) |
(注1)ASCII系(0x00~0x7f)のコードが指定されていた場合は、変換不当となります。
(注2)使用可能な文字の範囲が限られているので、ASCII系(0x00~0x7f)と同等のコードになります。
(注3)“UTF-8(3バイト)”は1~3バイトで表現されるUCS2の範囲のUTF-8を示します。
その他の文字コードへの変換
ユーザ固有フォーマットをEUC-JP、シフトJIS、JISコード、UTF-8/UCS2以外の文字コード(JEFなど)に変換したい場合は、XMLメッセージのフォーマット変換の前後で文字コード変換機能を実行します。
ポイント
環境設定ファイルについては、“ISI 導入ガイド”の“XMLメッセージのフォーマット変換の環境設定”を参照してください。