Qraft

How Patterns Hide Information - Decoding the Secret of 0s and 1s

All Information Is Made of 0s and 1s

In the digital world, everything - text, numbers, images - is represented as combinations of 0 and 1 (binary). The letter A is 01000001, B is 01000010. Eight digits (8 bits) represent one character, giving 256 possible combinations. The black-and-white pattern is simply binary made visible: white squares = 0, black squares = 1. Your phone camera reads the colors, converts them to binary, and reconstructs the original text or URL.

How Japanese Characters Fit In

English uses 8 bits per character, but Japanese needs 24 bits (3 bytes) per character in UTF-8 encoding due to thousands of kanji. Five Japanese characters take 15 bytes versus 5 bytes for five English letters. This is why patterns encoding Japanese text are larger. URLs use only ASCII characters, keeping patterns compact - which is why URLs are preferred over direct text.

The Map Inside the Pattern

The pattern follows strict rules. Three large corner squares (finder patterns) mark the edges. Small dot rows (timing patterns) establish grid spacing. The first few data cells record what type of data is stored (numeric, alphanumeric, kanji, binary) and its length.

Mask Patterns - The Final Touch

Raw data conversion can create problematic clusters of black or striped areas that reduce scan accuracy. Eight mask patterns are available, each applying different inversion rules (e.g., invert cells where row + column is even). The pattern producing the most balanced distribution is automatically selected.

Why the pattern differs even for the same information

Even when you make codes that express the same content, the pattern can look different depending on the settings. This is because the code holds not only the body of the information but also clues for reading it out and spare data in preparation for dirt. If you change the strength of error correction, the amount of spare data changes, and the pattern changes too. Also, in the finishing process that arranges ease of scanning, the appearance is re-selected. In other words, the pattern is not a direct reflection of the content information, but takes that form as the result of layered devices for reading it reliably.

Complex for humans but simple for machines

The densely arranged cells appear to the human eye as an extremely complex pattern. However, to the machine that reads it, it is nothing more than an accumulation of the simple judgment of light or dark. It traces the cells in a fixed order, replaces light and dark with 0 and 1, and assembles that arrangement into information. The machine accomplishes this work accurately in an instant. The way information is expressed is completely different from the characters that humans see and understand. Behind a pattern that looks complex hide thoroughly simplified rules so that the machine can read it out without hesitation.

Try It - Convert Your Name to Binary

Convert your name to binary using ASCII codes: T=01010100, A=01000001, R=01010010, O=01001111. String them together and you have your name as a sequence of 0s and 1s. Replace each digit with a white or black square, and your name becomes a pattern. Real patterns add error correction and structural data, but the core principle is this simple.