开发者

How to write a HEX string into a file as HEX using REXX

I have a string 'RAJA' which s开发者_Python百科hould be written into a file as HEX data. Here are sample codes which help me to describe the issue. Case(a)

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

Output to the file: 52414A41

But if we use HEX data directly to write into file it's working fine Case(b)

name = '52414A41'X
QUEUE name.

Output to the file: RAJA

Issue: In case(a) when the string was converted into HEX using C2X, it returns a HEX data string not a HEX data. But in case(b) as HEX data was written to file. My question is how to let REXX interpreter know that the variable 'name' in case(a) has HEX data and to be written it as HEX. Hope i made the issue clear. Lemme tread towards a solution.


You could also use the x2c function

say x2c(52414A41)

displays RAJA

For most of the functions like c2x reversing the characters does the reverse

i.e.

say d2c(c2d(10))

say c2d(d2c(10))

say x2d(d2x(10))

all display 10


Finally, I could resolve MYSELF issue described top. There is built-in function in REXX called 'INTERPRET', which helps us in building dynamic REXX commands. Here is the single statement, made me run the module successfully:

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

It dynamically creates a REXX statement:

name_hex = 'name'X

which will tell REXX interpreter the string in 'name' as HEX data.

Awesome right! Hope I made you clear.. Do get back to me with your questions..


I don't think you have a strong grasp of what you are trying to do here... Run the following REXX program and then figure out why it displays what it does. Once you have managed that, you can probably come up with a better solution to your hex/character problem.


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 */
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜