# Custom Binary Format

• 04-21-2005
Queatrix
Custom Binary Format
I found a chart for translating ASCII into Binary and other codes at:
http://www.pcguide.com/res/tablesASCII-c.html
I know you can save text as binary, but I was wondering, is there a way to make a program that
will save text as binary but in a different binary format?
For an example,

A = 01000001
B = 01000010

But instead of that I would have it like this.

A = 00000001
B = 00000010

As you see that would make it so that you have to have a program specially designed to read it,
not just any word processor would do. So it would be a custom format. Can this be done? And if
so, how?
Thanks, August.
(P.S. I would want program only to be able to read A-Z and 0-9 only.)
• 04-22-2005
MrWizard
There are numerous ways to approach this problem. A very simple method that comes to mind is to make a 256 element array of integers. Each element in this array would correspond to an ascii value. For instance, array element 'a' would be 97 decimal or 0x61. Then stored at that location you would put the value you would like to use to represent this in your program. So you might decide this would be 0000 0011 binary or 3 in decimal. Likewise you could have another array to convert the other direction.
• 04-22-2005
kuphryn
Simply encode the data and then write to disk. Do the reverse during input. Enhance the process via multithreading.

Kuphryn
• 04-22-2005
UnclePunker
I may be missing the point but can you just subtract 64 from the ASCII value before you encode to binary.
• 04-22-2005
Jaken Veina
That could be done, yes. If that's the only encoding you are wanting to do, it would work fine. Then in reading the file you would add 64 to the value again.
• 04-22-2005
Queatrix
Yes. Tell me how you can add or subtract 64 from the binary code.
• 04-22-2005
Jaken Veina
Well, when saving a file, one approach would be to put the entire contents of the file to be into an allocated character array and then loop through each element, subtracting 64 from each value. The same applies for reading in. Store the entire file contents into an allocated character array and then loop through, adding 64 to each element.
• 04-22-2005
Queatrix
I think I understand what you are saying but I don't know how to do all of those things, could you give me an example to work with?
• 04-22-2005
Quantum1024
if you want 'a' to be 0 and 'b' to be 1 then you would subtract 65
Code:

```char Array[]={ "some text" }; for (int i=0;Array[i]!=0;i++)   Array[i]-=65;```
Since the value of Z is 90 and the value of a is 97 you might want to check the range of the char values before modifying them but that depends on how you want things encoded.
• 04-22-2005
Queatrix
I still don't get it :(
I'm only a newbie
• 04-22-2005
Jaken Veina
Well, if you're that much of a newbie, I really suggest you do more work with base C or C++ programming. Win32 API is just a bunch of predefined C and C++ functions, data types, structures, ect. and if you don't know hoe they work, you're gonna have a pretty hard time learning it. Spend at least a few weeks working with C or C++ (I prefer C, but most prefer C++) and then see how API goes for you.
• 04-22-2005
Queatrix
Guess you'r right, thanks anyway though.