x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 230

# Convert file

hai..

can we convert the file which contains hex / character / base64 format into text format that can be read. Assume that i have this line of hex formated:

00 02 FF 0F 47 5F

after convert i got this text "Hello". Can we do that?

Thanks,

Suhaimi
0
suhai
• 2
• 2
• 2
1 Solution

Commented:
Are you sure that
00 02 FF 0F 47 5F
converts into "Hello"?  How did you convert it?
what format is this supposed to be?  hex, or character, or base64?
0

Commented:
"can we convert the file ... into text format that can be read"
I don't understand since this is how we read text files. Opening a file with the binary values 48 45 4C 4C 4F will give the text "HELLO". Do you mean you want to open a text file with the text "48 45 4C 4C 4F" and have it convert the three chars "48 " into one char "H"?

0

Author Commented:
Yes grailman,  you've got my point. Do you have any program converter or some sample program?
0

Commented:
while( scanf("%2x",&c)>0 ){ putchar(c); }
0

Commented:
void Convert(char* pStr, int StrSize)
{
// pStr is a pointer to text string to be converted
// and should be checked before calling this to
// make sure all chars are '0-9' 'a-f' A-F' space <CR> or <LF>

char ch;
char Byte;
int NibbleCount = 0;

for(int i = 0; i < StrSize; i++)
{
ch = pStr;

// make sure we have a char
if(ch != 0x0A && ch != 0x0D && ch != 0x20)
{
if            (ch >= '0' && ch <= '9')      ch -= '0';
else if      (ch >= 'a' && ch <= 'f')      ch -= ('a' - 10);
else if      (ch >= 'A' && ch <= 'F')      ch -= ('A' - 10);

if(!(NibbleCount % 2))                  // Set lower nibble
{
Byte = (ch << 4);
}
else                                          // Set upper nibble
{
Byte += ch;
printf("%c", Byte);
}
NibbleCount++;                        // increment for each nibble
}
else
printf("%c",ch);                        // print <CR><LF> or Space

pStr++;
}
}

0

Author Commented:
Thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.