Convert hex values to displayable characters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert hex values to displayable characters
# 1  
Old 11-17-2010
Convert hex values to displayable characters

Hi,

I am a bit stuck with displaying characters. I am having values like below in the proper displayable characters. which I would want to print the actual value on the right hand side. I dont want to create an array because I would have to create 255 different values. isnt there another way of just printing an octal equivalent or just the hex equivalent in the printf statements?

Values present
Quote:
F0
F1
F2
....
Values to be displayed:
Quote:
0
1
2
....
Please can you suggest a way?
# 2  
Old 11-17-2010
Quote:
Originally Posted by ahmedwaseem2000
...
I am a bit stuck with displaying characters. I am having values like below in the proper displayable characters. which I would want to print the actual value on the right hand side. I dont want to create an array because I would have to create 255 different values. isnt there another way of just printing an octal equivalent or just the hex equivalent in the printf statements?

Values present
Code:
F0
F1
F2
....

Values to be displayed:
Code:
0
1
2
....

...
Can you explain how "2" turns out to be the octal or hex equivalent of "F2" ?

tyler_durden
# 3  
Old 11-17-2010
Code:
for i in `cat <<inputfilename>> | awk '{ print "16#"$0}'`
do
 typeset -i10 i
 echo $i
done

or

Code:
echo "obase=10; F0" | bc

# 4  
Old 11-17-2010
Quote:
Originally Posted by durden_tyler
Can you explain how "2" turns out to be the octal or hex equivalent of "F2" ?

tyler_durden
Thanks guys for your response. Well, I did not mention that the character set is EBCIDIC. so, the values I would have in the file would be like 81-89, 91-99, A2-A9 for the lower case a-z. similarly it would have F0-F9 for the number 0-9.

palsevlohit_123 - the code would simply convert the hexa-decimal value to decimal rather than converting it to the EBCIDIC value.
# 5  
Old 11-17-2010
What unix Operating System are you running?

Assuming that this is a text file containing only characters data and was written on something like an IBM mainframe, the general solution is to use unix "dd" command with the "conv=ascii" parameter. Search for "conv=ascii" on this board.
In general this sort of conversion is best done at source because record structure and end-of-file can be lost during transmission.
# 6  
Old 11-18-2010
Methyl - I am using AIX. well I was referring to the od -x output in a file. which I would want to convert to proper ascii values. dd will convert the ebcidic to ascii but I would want to convert the hex values to be converted to ascii.
# 7  
Old 11-18-2010
Quote:
Originally Posted by ahmedwaseem2000
Methyl - I am using AIX. well I was referring to the od -x output in a file. which I would want to convert to proper ascii values. dd will convert the ebcidic to ascii but I would want to convert the hex values to be converted to ascii.
Ah. Two steps then, hex -> binary, then EBDIC -> ASCII. The first step can be done like this:

Code:
$ echo -e "31\n32\n33\n34" | awk "{ printf \"%c\n\", strtonum(\"0x\" \$0); }"
1
2
3
4
$

This works fine for ASCII, for EBDIC you'd have to pipe it through dd conv=ascii afterwards as in:

Code:
$ echo -e "f0\nf1\nf2" | awk "{ printf \"%c\", strtonum(\"0x\" \$0); }" | dd conv=ascii 2> /dev/null ; echo
012
$

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to replace with "sed" some hex values by other hex values?

Assume I have a file \usr\home\\somedir\myfile123.txt and I want to replace all occurencies of the two (concatenated) hex values x'AD' x'A0' bytwo other (concatenated) hex values x'20' x'6E' How can I achieve this with the gnu sed tool? Additional question: Is there a way to let sed show... (1 Reply)
Discussion started by: pstein
1 Replies

2. Shell Programming and Scripting

Convert hex to decimal

can someone help me in converting hex streams to decimal values using perl script Hex value: $my_hex_stream="0c07ac14001676"; Every hex value in the above stream should be converted in to decimal and separated by comma. The output should be: 12,07,172,20,00,22,118 (2 Replies)
Discussion started by: Arun_Linux
2 Replies

3. Shell Programming and Scripting

Convert to Hex in perl

Hi, i want to convert number 5860533159 to hexadecimal. i need to use perl. i used $foo = 5860533159; $hexval3 = sprintf("%#x", $foo); i am getting value as 0xffffffff. i need to get value as 0x15D50A3A7. when i converted using google calculator, i got the correct value, expected... (9 Replies)
Discussion started by: asak
9 Replies

4. Shell Programming and Scripting

Convert Hex - KSH

Hello, I woild like to convert hex on KSH not BASH: I tried to use: tmp=31 printf "\x"${tmp}"" it works on bash - Output is '1' but not on ksh. please advice on the right syntax. Thanks. (4 Replies)
Discussion started by: LiorAmitai
4 Replies

5. Shell Programming and Scripting

Convert hex to decimal or reverse is better?

Please Help Me! about the problem down under. I have 2 files with nearly the same characteristics, I have to convert one to the other format or the other format to one's format. I want to write it with awk. The first file contain lines like this: 300000001#A#Y#Y#Y#Y The other file contain... (4 Replies)
Discussion started by: Axel82
4 Replies

6. Shell Programming and Scripting

convert ascii values into ascii characters

Hi gurus, I have a file in unix with ascii values. I need to convert all the ascii values in the file to ascii characters. File contains nearly 20000 records with ascii values. (10 Replies)
Discussion started by: sandeeppvk
10 Replies

7. Programming

Convert HEX to EBCDIC IN C

i want to convert Hex value To EBCDIC value. i tried to convert hex to ascii and then to ebcdic but it doesn't give desired results . it doesn't give corresponding ebcdic value instead it gives some junk values. e.g; Hex EBCDIC ----------------- 81 a 82 b 83 c 84 d 85 e 86 f 87... (6 Replies)
Discussion started by: junaid.nehvi
6 Replies

8. Shell Programming and Scripting

How to Convert Hex value to Dec ?

Hi All, I want to convert below Hex value to Dec value in each column .How to do it ? This data is in a 1 file. 4e20 0475 2710 010f 7530 69a2 7530 7e2f 4e20 02dd 7530 6299 4e20 0c0a 7530 69a2 4e20 0a0b 2710 0048 7530 7955 4e20 0d23 7530 622d 7530 9121 2710 001f 7530 7d3f (6 Replies)
Discussion started by: Nayanajith
6 Replies

9. Programming

to convert int to hex

Hi, Can you help me in converting int value to hex in a single command. Thanks (8 Replies)
Discussion started by: naan
8 Replies

10. UNIX for Dummies Questions & Answers

convert hex to ascii text

Is there a command to convert hex characters into their respective ascii values? (5 Replies)
Discussion started by: dangral
5 Replies
Login or Register to Ask a Question