A little diddy about binary file formats

Understanding the nature of file formats and escape characters has been an itch of mine. I recently found a few useful explanations that inspired me to write my understanding of binary files.

This is a companion discussion topic for the original entry at http://betterexplained.com/articles/a-little-diddy-about-binary-file-formats/

Wow. I am loving this! You are awesome for putting stuff like this up. Thanks.

I just found this, really informative. Thanks.

Awesome, I’m glad you found the articles useful!

Thanks Kalid for the wonderful explanation. I wasn’t sure that the funny characters represented next to hex values were their ascii equivalents and that they are not part of the actually file.

Thanks Anton! I’ve just added a few screenshots to make the examples even clearer.

Thanks for the article. Your was the only one that I found through google that was relevant to the topic.

Thanks Rahul, I’m happy you found it useful :slight_smile:

thanx for this useful and awesome article

it’s realy useful for reduces size of jar and file also.

that was fun… brought me back to my comp. sci days. How about an article on basic number theory. What the number 123 (base 10) really means. How to convert from say binary to hex… why xmas (dec 25) is equal to halloween (oct 31). Why we can’t divide by zero… what zero really means etc… that could lead into an article on what inductive proofs really mean etc… love this stuff!!!

Thanks Mr. Rose, glad you liked it :). Yep, I’m planning on covering number systems and why things turn out the way they do (from my point of view). I’m starting to view numbers a “software simulation” that tries to model the world, but has bugs / breaks down in certain circumstances (division by zero). Of course, the bugs are with our model – we have to come up with new and better ways to represent what’s going on in the world.

[…] Binary data is more efficient than text, but more difficult to debug and generate (how many hex editors do you know to use?). Lower-level protocols, the backbone of the internet, use binary data to maintain performance. Application-level protocols (HTTP and above) use text data for ease of interoperability. You don’t have religious wars about endian issues with HTTP. […]

For a good Hex Editor, I really recommend HxD


Cheers :slight_smile:

Kalid, this is a really great site. Thank you! I will use it as a reference in the future and I will tell others about it.

I appreciate your focus on enhancing the reader’s comprehension. Also, you have excellent screenshots and visuals.

@Kamil: Awesome, really glad it helped! I feel that sharing information isn’t really “learning” unless you also try to share the understanding that makes them click.

Awesome,u increased my interest in handling bytes

Hi Kalid… Thanks again…

Hey … i am not able to grasp this line completely:

Representing numbers in binary can ideally save you a factor of 3 (a 4 byte number can represent 10 bytes of text).

A lil more explanation on this will surely help.


Hi Kalid. General comment. Just want to say I’ve been on your site a bunch of times now and it’s turned out to be an invaluable resource. The difference is honestly like night and day sometimes. Amazing stuff. You truly have an immeasurable gift. Thank you for sharing it with us.

@Juan-Carlos: Thanks for the kind words, and for coming back to check out the site. You’re more than welcome – writing is a way for me to solidify what I “think” I’m learning… sometimes it’s not until it’s on paper and I’m working through some self-made examples does it really click.

wonderful artcle