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 */
精彩评论