1

HEX データとしてファイルに書き込む必要がある文字列 'RAJA' があります。問題を説明するのに役立つサンプルコードを次に示します。ケース(a)

name = 'RAJA'   
name = C2X(name) /* Hex value = '52414A41' */
QUEUE name.

ファイルへの出力:52414A41

しかし、HEX データを直接使用してファイルに書き込むと、問題なく動作します Case(b)

name = '52414A41'X
QUEUE name.

ファイルへの出力:RAJA

問題: (a) 文字列が C2X を使用して HEX に変換された場合、HEX データではなく HEX データ文字列が返されます。ただし、(b) の場合、HEX データがファイルに書き込まれます。私の質問は、REXX インタープリターに、case(a) の変数 'name' が HEX データを持ち、HEX として書き込まれることを知らせる方法です。問題を明確にしたことを願っています。解決策に向かって歩きましょう。

4

3 に答える 3

2

x2c関数を使用することもできます

x2c(52414A41)と言う

RAJAを表示します

c2xのようなほとんどの関数では、文字を反転すると逆になります

すなわち

d2c(c2d(10))と言う

c2d(d2c(10))と言う

x2d(d2x(10))と言う

すべてディスプレイ10

于 2009-12-30T10:51:39.873 に答える
0

ここで何をしようとしているのかをよく理解しているとは思いません... 次の REXX プログラムを実行して、その動作が表示される理由を調べてください。それを管理したら、16 進数/文字の問題に対するより良い解決策を思い付くことができるでしょう。


name = 'RAJA'
say name            /* RAJA */
name = C2X(name)
say name            /* 52414A41 */
name = X2C(name)
say name            /* RAJA */
name = '52414A41'x
say name            /* RAJA */
name = X2C('52414A41')
say name            /* RAJA */
name = '52414A41'
INTERPRET "name = '" || name || "'X"
say name            /* RAJA */
于 2010-01-04T20:34:36.897 に答える
0

最後に、上記の MYSELF の問題を解決できました。REXX には「INTERPRET」と呼ばれる組み込み関数があり、動的な REXX コマンドの作成に役立ちます。モジュールを正常に実行させた単一のステートメントを次に示します。

INTERPRET name_hex "= '" || name || "'X"

REXX ステートメントを動的に作成します。

name_hex = 'name'X

これは、'name' の文字列を HEX データとして REXX インタープリターに伝えます。

すごいですよね!私はあなたを明確にしたことを願っています..あなたの質問で私に戻ってください..

于 2009-12-30T06:47:46.360 に答える