CBL_STRING_CONVERT

文字エンコーディングを別のエンコーディングに変換します。

構文:

call "CBL_STRING_CONVERT" using by reference in-string
                                by value in-length
                                by value in-encoding
                                by reference out-string
                                by reference out-length
                                by value out-encoding
                                by value flags
                                by reference reserved
                                returning status-code.

パラメーター:

in-string
ピクチャ: pic x(n)
in-length
ピクチャ: pic x(4) comp-5
in-encoding
ピクチャ: pic x(4) comp-5
out-string
ピクチャ: pic x(n)
out-length
ピクチャ: pic x(4) comp-x
out-encoding
ピクチャ: pic x(4) comp-5
flags
ピクチャ: pic x(4) comp-5
reserved
ピクチャ: pic x(4) comp-x
status-code
説明の読み方」を参照

入力パラメーター:

in-string
変換するソース文字列。
in-length
ソース文字列の長さ。
in-encoding
ソース文字列のエンコーディング タイプ。次のいずれかになります。
Encoding
0 UTF-8
1 UTF-16 (native)
2 UTF-16 (portable)
3 ASCII/MBCS 文字 (ANSI 文字 (Windows) または現在のロケール (UNIX))
4 EBCDIC 文字 (CHARSET"EBCDIC" エンコーディング)
5 ASCII/MBCS 文字 (OEM 文字 (Windows) または現在のロケール (UNIX))
6 Base641 ASCII
7 Base64 EBCDIC
8 Base64 BINARY
out-length
変換後の文字列で使用できる最大バッファー長。
入口の値が 0 の場合、変換で必要になるバッファーのサイズのみが返され、呼び出しで実際の変換は行われません。
out-encoding
変換後の文字列のエンコーディング タイプ。次のいずれかになります。
Encoding
0 UTF-8
1 UTF-16 (native)
2 UTF-16 (portable)
3 ASCII/MBCS 文字 (ANSI 文字 (Windows) または現在のロケール (UNIX))
4 EBCDIC 文字 (CHARSET"EBCDIC" エンコーディング)
5 ASCII/MBCS 文字 (OEM 文字 (Windows) または現在のロケール (UNIX))
6 Base64 ASCII
注:in-encoding が BASE64 BINARY の場合にのみ使用できます。
7 Base64 EBCDIC
注:in-encoding が BASE64 BINARY の場合にのみ使用できます。
8 Base64 BINARY
注:in-encoding が BASE64 ASCII または BASE64 EBCDIC の場合にのみ使用できます。
flags
予約済み。ゼロに設定する必要があります。
reserved
ゼロに設定する必要があります。

出力パラメーター:

out-string
変換後の文字列。変換後のデータが大きすぎて out-string に収まらない場合、エラーが発生します。
in-string に、出力エンコーディングで相当する文字のない文字が含まれている場合は、それらの文字はシステム依存の置換文字に変換されます。
注:これが可能なのは、UTF エンコーディングから ASCII または EBCDIC 文字に変換する場合のみです。
out-length
out-string (変換後の文字列) の実際のバッファー長。
status-code
変換の結果。次のいずれかになります。
結果
0 成功
1 ターゲットのバッファーが小さすぎる
2 メモリ不足
3 サポートされていない変換
4 不使用
5 無効なソース データ