UTF-8
| Kódovania |
| UTF-7 · UTF-8 · CESU-8 · UTF-16/UCS-2 · UTF-32/UCS-4 · UTF-EBCDIC · SCSU · Punycode · GB18030 |
|
UCS |
| Obojsmerný text |
| BOM |
| Han zjednotenie |
| Unicode a HTML |
| Unicode a e-mail |
UTF-8 (8-bitový Unicode Transformation Format) je bezstratové kódovanie s variabilnou dĺžkou určené pre Unicode znaky, ktoré vytvorili Rob Pike a Ken Thompson. Používa skupiny bajtov na reprezentovanie Unicode štandardu pre abecedy mnohých svetových jazykov. UTF-8 kódovanie je špeciálne užitočné pre prenos cez 8-bitové systémy elektronickej pošty.
Používa 1 až 6 bajtov na zapísanie znaku podľa toho, o ktorý Unicode symbol ide. Napríklad, len jeden UTF-8 bajt je potrebný na zakódovanie všetkých 128 US-ASCII znakov z Unicode rozsahu U+0000 až U+007F.
Aj keď sa môže zdať neefektívne reprezentovať Unicode znaky až štyrmi prípadne až šiestimi bajtmi, UTF-8 umožňuje starým systémom prenášať túto ASCII nadmnožinu. Dodatočne, dátová kompresia môže byť stále vykonaná nezávisle od použitia UTF-8.
Zatiaľ čo pri UNICODE bol každý znak zakódovaný 16-mi bitmi, pri UTF-8 je prvých 128 znakov (tieto sú pre všetky krajiny rovnaké) zakódovaných 8-mimi bitmi a zvyšné sú zakódované 16-timi až 48-mimi bitmi. Tento spôsob je výhodný pre krajiny, kde väčšina znakov textu tvorí prvých 128 znakov, pretože uložený text tak zaberá menej miesta ako pri UNICODE.
IETF požaduje od všetkých internetových protokolov, aby UTF-8 bolo aspoň jediné podporované kódovanie.
| Unicode hodnota | UTF-8 sekvencia |
|---|---|
| U-00000000 – U-0000007F | 0xxxxxxx |
| U-00000080 – U-000007FF | 110xxxxx 10xxxxxx |
| U-00000800 – U-0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
| U-00010000 – U-001FFFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
| U-00200000 – U-03FFFFFF | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
| U-04000000 – U-7FFFFFFF | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |