Unicode Guides

Practical references for Unicode, encodings, normalization, escaping, and text diagnostics.

What Is Unicode?

Unicode is the international standard used to represent text consistently across computers, phones, websites, programming languages and operating systems.

Unicode vs UTF-8

Unicode defines characters and code points. UTF-8 encodes those code points as bytes for files, databases, web pages, APIs and network messages.

UTF-8 vs UTF-16

Compare UTF-8 and UTF-16 with byte examples, surrogate pairs, byte order, BOM behavior and practical guidance for developers.

What Is a Unicode Code Point?

Learn what Unicode code points are, how U+ notation works, and how code points differ from glyphs, bytes, code units and visible characters.

Code Points vs Code Units

Understand Unicode code points, UTF-8 bytes, UTF-16 code units, surrogate pairs, grapheme clusters and why string length can mislead.

What Is a Grapheme Cluster?

Learn how grapheme clusters represent user-perceived characters, why emoji and combining marks affect length, and how to handle text safely.

Unicode Normalization Explained

Learn NFC, NFD, NFKC and NFKD, canonical and compatibility equivalence, and safe normalization for comparison, search and identifiers.

NFC vs NFD

Compare NFC and NFD Unicode normalization with composed and decomposed examples, byte counts, equality checks and developer guidance.

What Is Mojibake?

Learn why text becomes garbled, how UTF-8 bytes turn into mojibake such as café and It’s, and how to repair it safely.

How to Fix Broken UTF-8 Text

A safe workflow for diagnosing broken UTF-8, validating bytes, reversing mojibake, handling double encoding and auditing repairs.