liveBook · Manning

Unicode

As explained in Grokking Algorithms, Second Edition

Unicode is a character encoding standard that assigns code points to characters across writing systems.

Unicode is an international encoding standard designed to provide characters for any language. It grew out of the limits of ASCII and ISO-8859-1: 128 or 256 characters could not cover the world’s writing systems. Unicode includes 149,186 characters in version 15, including more than 1,000 emojis. section 7.6

Unicode is the standard, not the particular byte format used to store it. UTF-8 is the most popular Unicode encoding and uses a variable number of bytes—one to four, or 8 to 32 bits—per character. For a project, UTF-8 is presented as a good default choice. section 7.6 section 7.7

Why older encodings were not enough

ASCII could not represent characters such as ü, ö, £, or ¥. ISO-8859-1 expanded the range from 128 to 256 characters, but countries then created separate encodings for their own languages. Unicode resolved this fragmented situation by aiming to cover characters across languages. section 7.6

How Grokking Algorithms, Second Edition covers it

How deep it goes
Defines Unicode’s purpose and UTF-8’s byte range, but stops short of explaining Unicode’s internal character assignments.
Examples
Uses umlauts, currency symbols, emojis, and binary decoded as ISO-8859-1 to contrast character coverage and encoding formats.
What it assumes
Assumes basic familiarity with characters, binary, and bits while introducing encoding history from ASCII onward.
What you can do after
Evaluate/understand why Unicode exists and choose UTF-8 as a default project encoding.
How it connects
Connects Unicode with ASCII, ISO-8859-1, UTF-8, character encoding, and compression algorithms.

Also explained in

Compare how 8 books explain Unicode →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Grokking Algorithms, Second Edition. The section links point to the parts of the book it draws on.