文:データを内部 (2 進) 形式から文字形式に変換します。これは,それぞれ書式付き順番 WRITE 文の内部ファイルを使用することに相当します。
形式
ENCODE (c, f, b [, IOSTAT=i-var] [, ERR=label]) [io-list]
c
スカラ整数式。これは文字形式に変換する文字数です。
f
書式識別子。複数の記録が指定されているとエラーが発生します。
b
スカラまたは配列引用。b が配列引用ならば,その要素は添字の進行順に処理されます。
b は外部形式への変換後の文字列を受け取ります。c 個よりも少ない文字しか受け取らなかった場合,残りの文字位置は空白文字で充填されます。
i-var
エラーが発生した場合には正の整数,エラーが発生しなかった場合にはゼロと定義されるスカラ整数変数。
label
エラーが発生した場合に制御を受け取る実行文の文番号。
io-list
I/O 並び。I/O 並びは,DO 形反復または変数の単純並び (大きさ引継ぎ配列を除く) です。並びは文字形式に変換されるデータを含んでいます。
書式指定子と I/O 並びの間の相互作用は,書式付き I/O 文の場合と同じです。
規則と振る舞い
ENCODE 文が変換できる文字数は,b のデータ型に依存します。たとえば,INTEGER(2) 配列は要素 1 つにつき 2 文字を含むことができるので,文字数の最大値はその配列中の要素数の 2 倍です。
文字変数または文字配列要素が含むことができる文字数の最大値は,文字変数または文字配列要素の長さです。
文字配列に含むことができる文字数の最大値は,各要素の長さに要素数を掛けた値です。
関連情報
例
以下を考えます。
DIMENSION K(3) CHARACTER*12 A,B DATA A/'123456789012'/ ENCODE(12,100,A) K 100 FORMAT(3I4) ENCODE(12,100,B) K(3), K(2), K(1)
12 文字が配列 K に保存されます。
K(1) = 1234 K(2) = 5678 K(3) = 9012
ENCODE 文は,値 K(3),K(2),および K(1) を文字型に変換し,文字変数 B に保存します。
B = '901256781234'