Sponsored Content
Top Forums Shell Programming and Scripting Bash - binary data to ascii code Post 302919430 by math4 on Wednesday 1st of October 2014 08:42:27 AM
Old 10-01-2014
Bash - binary data to ascii code

Hello,

With bash-script (ubunto server) I'm trying to read a binary file and, for each character, give back its ascii code (including extended ascii). For example:

HEX => ASCII => PRINT
f5 => 245 => õ
50 => 80 => P

To load the binary file into a variable I tried in this way:
Code:
s=$(<"binaryfile.bin")

and for finding its length:
Code:
n=${#s}

However, $s does not seem to correspond to the actual content of the file and therefore also the length.

The exact number of characters I get in fact doing:
Code:
n=$(stat c%s "binaryfile.bin")

What I do not get is $s to match character for character the content of BinaryFile.

The equivalent vb6 works this way:

Code:
Open DataFile For Binary As #1 
s = Input (LOF (1), 1) 
n = len(s)
Close 1 

For i = 1 To n
sn(i) = Asc(Mid(s, i, 1))
Next

I also tried to work with hexdump ...
Code:
hexdump -C binaryfile.bin

but I can not print the ascii code (extended) characters in the file.

If the variable $s contain the exact text of the file, I could use the following functions to get each character its ascii code (which is what I need).

Code:
<cut>
 for(( i=0; i<=n; i++))
 do
    one_char=${s:i:1}
    sn[$i]=$(ord "$one_char");
 done
<cut>

#Asc() function
ord() {
  LC_CTYPE=C printf '%d' "'$1"
}

#Chr() function
chr() {
  [ "${1}" -lt 256 ] || return 1
  printf \\$(printf '%03o' $1)
}

Any help?

Thank you
math
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Convert ASCII to BINARY

Here is what I did . . . . I FTP'd several *.pdf files from a web site to a UNIX server, and did not set the transfer mode to BIN, now Adobe thinks that the documents are corrupted. Is there a way to convert the *.pdf files to Binary so that Adobe can open them again. I would just re-download... (2 Replies)
Discussion started by: pc9456
2 Replies

2. UNIX for Advanced & Expert Users

Convert Binary data to ascii data

Friends, I've tried on solaris, but I could n't get ascii data dd if=binaryinputfile bs=1 skip=3800 count=4 | od -t u4 output : INDBU3:/usr/users/FTAMUSER/kk $ dd if=SMP20041006173649188151 bs=1 skip=3800 count=4 | od -t u4 4+0 records in 4+0 records out 0000000 0000000000 0000004... (4 Replies)
Discussion started by: krishna
4 Replies

3. Shell Programming and Scripting

Binary or ascii file

I want to verify the file is Binary or ascii file and accordingly I want to switch the program with ret code ie 0 or success and 1 for failure Can any one help me is this a correct syntex...i am getting error #!/bin/ksh $file filename if echo "ascii fie Found" else echo " binary... (6 Replies)
Discussion started by: u263066
6 Replies

4. Shell Programming and Scripting

how to check the file data type(ascii or binary)

hi i am receiving a file from one system , i have to verify the format of the file data i.e whether the data is in acii format or binary format, please help thanks in advance satya (1 Reply)
Discussion started by: Satyak
1 Replies

5. Shell Programming and Scripting

binary to ascii

Hi, Is there a way to convert the binary file to ascii . the binary file is pipe delimited. from source the file(pipe delimited) is ftped to mainframe and from mainframe it is ftped to the unix box using binary format. Is there a way to change it back to ascii and view it? Thanks! (3 Replies)
Discussion started by: dnat
3 Replies

6. UNIX for Dummies Questions & Answers

Ascii or Binary?

Hello all, I am working with ftp servers in unix, and always I have to get and put files but I don't know exactly if I have to get or put them as an ascii or binary. Some files that I use are: .txt, .sav, .fmb, .pct, .sh, .ksh, .dat, .log. Somebody can tell me what is the difference between... (2 Replies)
Discussion started by: Geller
2 Replies

7. Shell Programming and Scripting

binary to ascii conversion

Hi, I have got a library file, created by compiling C code. The file information with "file" command, gives it a "application/x-archive" type file. I want to extract the release string of my software from this file, so that i can know which version of C files were used to create the lib. Can... (3 Replies)
Discussion started by: atulmt
3 Replies

8. UNIX for Advanced & Expert Users

Conversion from ASCII to binary for physical simulation code in C/C++

Good evening, everybody A good math friend told me that it would be possible to shrink the size of the numerical datas I produce with a physical simulation code I programmed for my PhD. It usually writes at least 100 GB to complete the simulation, and it seems that it is too high. There are... (7 Replies)
Discussion started by: Cybertib
7 Replies

9. Solaris

ASN Binary to ASCII

Dears, I need help to convert the binary file into ASCII format. Actually we have CDRs which is generated by telecom switch at this is in ASN1 format or binary format, I need to convert those binary formatted file into ASCII format using Perl, or shell scripting. Is there any way to solve... (3 Replies)
Discussion started by: PRINCESS_RORO
3 Replies

10. UNIX for Beginners Questions & Answers

Creating data delimited by ASCII code 1

<Any suggestion how to create a file where the values are separated by ASCII code 1,with data extracted from a table using shell script The format is :/> <columnname1(binary1)columnvalue(binary1)columnname2(binary1)columnvalue(binary1)columnname3(binary1)columnvalue... 1st row/>... (6 Replies)
Discussion started by: dasun
6 Replies
ASCII(1)						      General Commands Manual							  ASCII(1)

NAME
ascii, unicode - interpret ASCII, Unicode characters SYNOPSIS
ascii [ -8 ] [ -oxdbn ] [ -nct ] [ text ] unicode [ -nt ] hexmin-hexmax unicode [ -t ] hex [ ... ] unicode [ -n ] characters look hex /lib/unicode DESCRIPTION
Ascii prints the ASCII values corresponding to characters and vice versa; under the -8 option, the ISO Latin-1 extensions (codes 0200-0377) are included. The values are interpreted in a settable numeric base; -o specifies octal, -d decimal, -x hexadecimal (the default), and -bn base n. With no arguments, ascii prints a table of the character set in the specified base. Characters of text are converted to their ASCII val- ues, one per line. If, however, the first text argument is a valid number in the specified base, conversion goes the opposite way. Control characters are printed as two- or three-character mnemonics. Other options are: -n Force numeric output. -c Force character output. -t Convert from numbers to running text; do not interpret control characters or insert newlines. Unicode is similar; it converts between UTF and character values from the Unicode Standard (see utf(7)). If given a range of hexadecimal numbers, unicode prints a table of the specified Unicode characters -- their values and UTF representations. Otherwise it translates from UTF to numeric value or vice versa, depending on the appearance of the supplied text; the -n option forces numeric output to avoid ambigu- ity with numeric characters. If converting to UTF , the characters are printed one per line unless the -t flag is set, in which case the output is a single string containing only the specified characters. Unlike ascii, unicode treats no characters specially. The output of ascii and unicode may be unhelpful if the characters printed are not available in the current font. The file /lib/unicode contains a table of characters and descriptions, sorted in hexadecimal order, suitable for look(1) on the lower case hex values of characters. EXAMPLES
ascii -d Print the ASCII table base 10. unicode p Print the hex value of `p'. unicode 2200-22f1 Print a table of miscellaneous mathematical symbols. look 039 /lib/unicode See the start of the Greek alphabet's encoding in the Unicode Standard. FILES
/lib/unicode table of characters and descriptions. SOURCE
/src/cmd/ascii.c /src/cmd/unicode.c SEE ALSO
look(1), tcs(1), utf(7), font(7) ASCII(1)
All times are GMT -4. The time now is 08:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy