Lesson 004

Unicode & UTF-8

Code Points · UTF-8 Bytes · Encodings

1:00

How Unicode assigns every character on Earth a number, and how UTF-8 turns those numbers into bytes — compactly, backwards-compatibly, and self-synchronizingly.

By the end, you can

  • Explain the difference between a Unicode code point and a UTF-8 encoding.
  • State the Unicode code space range and total size.
  • Convert a code point to its UTF-8 byte count using the four range boundaries.
  • Decode the lead-bits pattern of any UTF-8 byte (start vs. continuation, byte count).
  • Trace the encoding of a specific character such as € (U+20AC) into its UTF-8 bytes.
  • Explain why every ASCII file is valid UTF-8 without any conversion.
  • Distinguish UTF-8, UTF-16, and UTF-32 in terms of unit size, byte-order sensitivity, and trade-offs.
  • Identify why byte length, code-point count, and grapheme-cluster count can all differ for the same string.
  • Diagnose mojibake and explain what fix is needed.
Up next in Binary & Data Representation
Questions or feedback?