Foundations

Why computers can't read

Computers store bytes and manipulate symbols; a modelling pipeline must choose units and learn useful structure from them.

Updated

1

Concept

Computers store and transform numbers. A text file is ultimately bytes, and a screen draws shapes according to agreed encodings and fonts. None of those layers supplies a human reader’s concepts, intentions, or background knowledge. Saying that a computer “reads” is convenient shorthand for a pipeline that preserves symbols, chooses units, and computes learned relationships among them.

The first boundary is encoding. Unicode assigns code points to a vast repertoire of text elements; UTF-8 defines how those code points are represented as one or more bytes. A byte value alone is ambiguous without an encoding. Even visible characters are not always single units: an accented glyph can be represented as a precomposed code point or as a base letter followed by a combining mark. Emoji may combine several code points into one displayed grapheme.

Normalization can make canonically equivalent representations consistent, but applying it is a policy choice. Source code, passwords, identifiers, and natural language can require different treatment. Whitespace also carries information: spaces, line breaks, tabs, and nonbreaking spaces may look similar while producing different byte sequences. Before modelling begins, the system must decide which distinctions to preserve.

The next boundary is tokenization. A tokenizer maps text to discrete vocabulary entries and integer IDs. Those integers are labels, not quantities: token 900 is not semantically “larger” than token 12. A tokenizer may use characters, words, subwords, or bytes as fallback units. Its segmentation decides sequence length and which surface patterns the model can reuse directly.

An embedding table then maps each ID to a learned vector. Initially those vectors contain no dictionary definitions. Training changes them and later network weights so that representations become useful for prediction. The same initial token embedding can participate in different contextual states. “Bat” in a cave and “bat” in baseball begins at one vocabulary row, then surrounding tokens change its representation through the network.

Syntax and semantics are therefore not delivered by Unicode or the tokenizer. They emerge imperfectly from patterns in training data, architectural biases, and objectives. A model can learn that a closing quote often follows an opening quote, that subjects constrain verbs, or that certain names co-occur with professions. Those regularities can support useful behavior without forming an explicit symbolic grammar or a verified knowledge base.

This layered view explains several failures. Corrupted bytes can break decoding before the model sees text. Visually confusable Unicode can hide a changed identifier. An inefficient tokenizer can fragment one language into many positions. Rare spellings may receive weak learned representations. A fluent model can still attach the wrong real-world referent because its objective rewards probable continuation rather than grounded verification.

So computers can process text with extraordinary sophistication, but each layer has a precise contract. Bytes preserve data. Encodings map bytes to textual symbols. Tokenizers map text to IDs. Embeddings and neural layers learn numerical representations. Decoding maps scores back to tokens, and an encoding renders them. Keeping these boundaries separate prevents the vague word “reading” from hiding where information enters, changes, or is lost.

2

Explain it like I am five

A stage technician receives a crate of numbered tiles instead of a play. The numbers preserve every letter and punctuation mark, but they do not identify a joke, a promise, or who a pronoun refers to. An encoding is the inventory sheet mapping numbers to marks. A tokenizer bundles tiles into reusable pieces. A model learns how patterns of pieces behave. Meaning is not printed on any tile; it emerges from learned relationships and context.

3

Teach it back

Explain the separate roles of bytes, character encoding, tokenization, and a learned model, without saying that token IDs contain meaning by themselves.

Minimum: 80 characters and 15 words. Your text stays only in this browser.

Saved only on this device.

Show a model answer

Bytes are stored numerical units. An encoding such as Unicode plus UTF-8 defines how byte sequences correspond to text elements. A tokenizer deterministically groups encoded text into vocabulary units and IDs. The model maps those IDs to vectors and learns statistical relationships from data. The integer value of an ID has no semantic ranking; meaning-like behavior comes from learned representations in context.

4

Check your understanding

1. What does UTF-8 provide?
Answer and explanation

A rule for encoding Unicode code points as bytes — Text encoding makes storage interoperable; it does not perform linguistic understanding.

2. Why is token ID 500 not inherently more meaningful than token ID 20?
Answer and explanation

IDs are arbitrary vocabulary indices — The embedding row learned for an ID matters, not the numerical ordering of the index.

Complete the teach-back and answer the quiz correctly to finish this lesson.

Sources

  1. The Unicode Consortium (2025). The Unicode Standard, Version 17.0.