U+ Encoding Guide

Unicode Character Encoding

How Unicode assigns stable code points to characters and why that model separates identity from bytes.

Code points are the identity

Unicode gives every character a code point, written in hexadecimal with a U+ prefix. U+0041 is Latin capital letter A, U+20AC is the euro sign, and U+1F600 is the grinning face emoji.

The code point is stable across platforms. The bytes used to store the character depend on the encoding form selected, such as UTF-8, UTF-16, or UTF-32.

AU+0041
Euro signU+20AC
Grinning faceU+1F600

Blocks, categories, and scripts

Unicode groups code points into blocks by range, such as Basic Latin or Mathematical Operators. General categories describe whether a character is a letter, number, punctuation mark, or symbol, while scripts describe writing systems.

Block and category are reference metadata: they help you browse characters but do not change how the character is encoded.

Unicode is not the same as UTF-8

Unicode is the character model and code point assignment. UTF-8, UTF-16, and UTF-32 are encoding forms that convert code points to bytes.

A file labeled UTF-8 stores the same U+1F600 emoji as four bytes, while UTF-32 stores it as four fixed bytes with padding. The code point remains the same.