Lesson 4 — Data representation: encodings, formats, and why they break things
Unit I · Substrate and mechanism

L04_bytes.py                                 student     Shows code points and UTF-8 bytes of text, or the first 16 bytes of any file.
L04_make_samples.py                          student     Writes the three lab sample files into L04_samples/.
L04_read_wrong.py                            student     Reads the samples the wrong way and shows the symptoms.
L04_read_right.py                            student     Reads the samples the right way, to confirm repairs.
L04_repair_log.txt                           student     Repair log template for the breakage lab.
L04_toy_tokenizer.py                         student     Teaching stand-in byte-pair-encoding tokenizer; counts tokens for any text.
L04_samples/volunteers_utf8.txt              student     Sample: volunteer list saved as UTF-8 (made by L04_make_samples.py).
L04_samples/volunteers_cp1252.txt            student     Sample: same list saved as cp1252 (made by L04_make_samples.py).
L04_samples/deliveries.txt                   student     Sample: a CSV table with a .txt name (made by L04_make_samples.py).

Python 3.11 or newer. Standard library only. Run each program from the folder the lesson tells you to put it in:
    python <file>.py        (Windows)
    python3 <file>.py       (macOS and Linux)
