Obsah

Standard Unicode a UTF-8

Unicode je univerzální znaková sada, která definuje unikátní číslo (tzv. Code Point) pro každý znak bez ohledu na platformu, program nebo jazyk. UTF-8 je pak nejrozšířenější způsob, jakým jsou tato čísla (znaky) efektivně zapsána do binární podoby.

1. Problém před Unicode (Babylon kódování)

Před nástupem Unicode existovaly stovky různých kódovacích systémů (např. ASCII, ISO-8859-2 pro střední Evropu, Windows-1250).

—

2. Unicode: Jedna tabulka pro všechno

Unicode neřeší, jak se znak uloží v bajtech, ale přiřazuje mu abstraktní číslo.

—

3. UTF-8: Geniální kódování

UTF-8 (Unicode Transformation Format) je kódování s proměnnou délkou bajtů (1 až 4 bajty). Dnes tvoří naprostý standard na webu (přes 98 % stránek).

Hlavní výhody UTF-8:

Počet bajtů Rozsah Code Pointů Typické znaky
1 U+0000 – U+007F Základní latina (ASCII)
2 U+0080 – U+07FF Evropské jazyky, diakritika (č, ř, á)
3 U+0800 – U+FFFF Čínština, japonština, korejština
4 U+10000 – U+10FFFF Emoji, historické symboly

—

4. Další formáty: UTF-16 a UTF-32

Kromě UTF-8 existují i jiná kódování Unicode:

—

5. Úskalí: BOM (Byte Order Mark)

Některé editory (zejména na Windows) přidávají na začátek souboru neviditelný znak BOM. Ten má identifikovat pořadí bajtů, ale v moderním UTF-8 je často zdrojem problémů v PHP skriptech nebo při zpracování dat v Linuxu. Doporučuje se ukládat soubory jako „UTF-8 without BOM“.


Související články:

Tagy: programming unicode utf-8 encoding internationalization text