文字リテラル

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

文字リテラルの長さは、最大で 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" """"