Seeing Data with New Eyes
Most people know, in theory, that computers store “1s and 0s.” But what do those actually look like? And what is data, really?
This first article in the Demystifying Code & Data series is a visual deep dive into the raw substance of computing. We’ll look at the world through the lens of a hex viewer—a simple but powerful tool that reveals the hidden patterns behind everything from empty files to executable programs.
This might sound technical, but stay with me. You’re about to see how understanding even one layer deeper can start unlocking the whole system.
🔍 What Is Hex, and Why Should You Care?
Before we dive in: hex (short for hexadecimal) is just a way of representing data—like binary, but more human-readable. Every byte (which is 8 bits) can be cleanly represented as two hex digits.
So:
- Binary
00000000
= Hex00
- Binary
11111111
= HexFF
- Hex is the bridge between raw bits and meaningful structures.
Hex editors and viewers let you see files at the byte level—which is the closest most of us get to peering inside the Matrix. Let’s take a look.
🧪 1. Zeroed-Out Data (All 00s)
Here’s what a file looks like when it’s completely blank:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
This is as close to digital silence as you can get. No pattern. No entropy. Just… zero.
🎲 2. Random Data (/dev/urandom)
Now let’s fill a file with random bytes:
F2 1D B4 9A 23 7E 5C 88 D3 44 11 AE 6F 90 7A CD
39 6A F8 12 7C 4E 91 6B A0 C7 3E B5 04 FF 1A 03
This file looks noisy because it is. Randomness has no pattern. This is a great contrast to our all-zero file. And it’s often used for securely wiping data.
📄 3. A Simple Text File (e.g., hello.txt
)
Text files use ASCII (or UTF-8) encoding. Here’s what “Hello, world!” looks like in hex:
48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0A
And on the right side of the hex viewer, you’d see:
Hello, world!
Notice how readable this is? Hex is already showing us the bridge between raw storage and human meaning.
🖼️ 4. An Image File (e.g., image.jpg
)
Here’s the beginning of a JPEG file:
FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60
Those starting bytes—FF D8
—are called magic numbers. They identify the file format. The rest contains metadata, encoding info, and image data.
What makes this a picture and not junk? Standards. Structure. Context.
🎬 5. A Video File (e.g., video.mp4
)
MP4 files often begin like this:
00 00 00 18 66 74 79 70 6D 70 34 32 00 00 00 00
The hex tells software, “Hey, this is a video file.” Again, structure transforms raw data into something meaningful.
💻 6. A Compiled Program (e.g., an ELF or EXE file)
Let’s look at a Linux binary:
7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00
The first four bytes: 7F 45 4C 46
spell “ELF”—short for Executable and Linkable Format. This file is full of machine instructions, metadata, and sections the processor understands.
Unlike the text file, you won’t see readable strings here. But it’s all still just data—processed differently.
🧠 What We’ve Learned So Far
- All files—whether images, videos, programs, or plain text—are just bytes.
- What gives them meaning is structure and interpretation.
- Hex view helps demystify that structure by letting us see what the machine sees.
You don’t need to memorize magic numbers or byte sequences. Just understand this: computers aren’t magic. They’re predictable, layered systems built on simple rules.
🛠️ Coming Next…
This was just the first step. You’ve now seen files in their rawest form. Next, we’ll explore how these bytes are encoded and interpreted—how the same 1s and 0s can be read as text, numbers, instructions, or images depending on context.
We’ll also start following this data as it moves through memory, over networks, and between systems.
💬 Final Thought
When you “put a hex” on someone, it’s a curse. But in this case, it’s a blessing.
Once you start seeing data this way, you’re not just using a computer—you’re starting to understand it.
And that’s the first step to mastering your craft.