HEXIMAGE 関数

目的

記憶域内の指定された位置の 16 進表現を含む文字列を返します。

構文

HEXIMAGE(p,n,c)

パラメーター

p は、ロケーター型の制限付き式でなければなりません。OFFSET の場合は、AREA 属性が必要です。n は計算型の式でなければならず、Fixed Binary(31,0) に変換されます。c は CHARACTER (1) NONVARYING 型の式でなければなりませんが、指定は任意です。

説明

HEXIMAGE は、記憶域の位置 p にある n バイトの 16 進表現である文字列を返します。長さは次のいずれかになります。
  • HEXIMAGE(p,n) として使用する場合は 2 * n
  • HEXIMAGE(p,n,c) を使用し、出力文字列の 8 文字ごとに文字 c を挿入する場合、長さは (2 * n) + ((n - 1)/4) となります。

dcl s char (32) varying;

   s = 'The witch cast a terrible spell.';

    display (trim(length(s)));
    display (heximage(addr(s), length(s) + 2));
    display (heximage(addrdata(s), length(s), '+'));

出力:

  • リトルエンディアン プラットフォームの場合:
     32
    200054686520776974636820636173742061207465727269626C65207370656C6C2E
    54686520+77697463+68206361+73742061+20746572+7269626C+65207370+656C6C2E
  • ビッグエンディアン プラットフォームの場合:
    32
    002054686520776974636820636173742061207465727269626C65207370656C6C2E
    54686520+77697463+68206361+73742061+20746572+7269626C+65207370+656C6C2E

ネイティブ アーキテクチャに格納されている、先頭の固定 BIN (15) の長さのフィールド 2000 対 0020 に注意してください。

制約事項

なし。