文字定数

文字定数(英数字リテラルとも呼ばれる)は、始まりと終わりが引用符またはアポストロフィによって区切られる文字列です。始まりと終わりの区切り文字は同じにする必要があります(つまり、両方とも引用符か両方ともアポストロフィにする)。

文字定数の長さは、最大で 4096 文字です。区切り文字に含まれる文字は、ホスト・コンピュータで使用できるすべての文字から選択できます。

文字定数内に区切り文字を配置するには、2 つの連続した区切り文字(2 つの引用符か 2 つのアポストロフィのいずれか)を使用します。これらの 2 つの文字は、その文字が 1 つ存在することを表します。

固有の文字セットを使用して希望する文字の 16 進値を与えることによって、文字定数を指定することもできます。例えば、これを使用してデバイスの制御コードを符号化できます。次のいずれかのフォーマットが認識されます。

X"hex-values"
X'hex-values'
H"hex-values"
H'hex-values'

最初の H または X は、大文字でも小文字でも使用できます。hex-values は、1 つまたは複数の 16 進数で構成されます。これらの数字は、0 ~ 9 および A ~ F の文字のセットから構成されます。すべての 2 桁の 16 進数は、1 つの文字の位置を表します。1 番めの桁は文字の上位 4 ビットを符号化し、2 番めの桁は下位 4 ビットを符号化します。奇数の 16 進数が指定された場合、最後の文字の下位 4 ビットはゼロとして処理されます。

注:ACUCOBOL-GT では、h"123" は文字定数であり、他のすべての方言での数字リテラルではありません。

例:

次の文字定数のペアは等価です(固有の文字セットが ASCII の場合)。

X"414243" "ABC"
h'32313' "210"
H"6E" "n"
x"22" """"