Hitachi

COBOL2002 言語 拡張仕様編


25.5.2 CONVERT-CODE関数

CONVERT-CODE関数は,引数に指定された文字列のエンコーディングをキーワードに従って変換した文字列を返す。この関数の型は,英数字である。

Windows COBOL2002およびAIX COBOL2002では,CONVERT-CODE関数は使用できない。

〈この項の構成〉

(1) 一般形式

[図データ]

(2) 引数

  1. 引数1は,字類が英字か英数字でなくてはならない。

  2. 引数1に可変長集団項目を指定してはならない。また,引数1を部分参照してはならない。

  3. 引数1に動的長基本項目を指定してはならない。

  4. 引数1に続く語がSJIS-TO-UTF8の場合,引数1の文字コードはSJISでなければならない。また,引数1に続く語がUTF8-TO-SJISの場合,引数1の文字コードはUTF-8でなければならない。

  5. 引数1に関数一意名およびオブジェクトプロパティは指定できない。

  6. 引数1が英数字集団項目のとき,その従属項目の字類は英字,または英数字でなければならない。

(3) 関数値

  1. 引数1に続く語がSJIS-TO-UTF8の場合,引数1のエンコーディングをシフトJISからUTF-8に変換した文字列を返す。また,引数1に続く語がUTF8-TO-SJISの場合,引数1のエンコーディングをUTF-8からシフトJISに変換した文字列を返す。

  2. 変換前の文字に対応する変換後の文字を持たない文字が引数1中にある場合,文字変換は行わないで,EC-ARGUMENT-IMP例外条件が成立する。

    ただし,-FunctionECSup,CodeConvErrオプションが有効なときは,EC-ARGUMENT-IMP例外条件は成立しない。-FunctionECSup,CodeConvErrオプションについては,マニュアル「COBOL2002 使用の手引 手引編」のコンパイラオプションを参照のこと。

  3. 関数値の長さは,変換後の文字数を保持するのに必要とする,用途がDISPLAYの文字位置の個数となる。

  4. 関数値を転記する受け取り側作用対象に複数の項目を指定してはならない。

  5. 関数値の表現形式は,英数字形式となる。