CESU-8
Kategorie: Nezařazeno (celkem: 23181 referátů a seminárek)
Informace o referátu:
- Přidal/a: anonymous
- Datum přidání: 17. srpna 2008
- Zobrazeno: 1366×
- Licence: GNU Free Documentation License
- Seznam autorů a změn
- Vyloučení odpovědnosti
Příbuzná témata
CESU-8
CESU-8 (zkratka anglického Compatibility Encoding Scheme for UTF-16: 8-bit, Schéma pro kompatibilní kódování UTF-16, 8bitové) je způsob kódování znaků Unicode, který je téměř shodný s UTF-8, ale liší se způsobem práce se znaky nad U+10000. Je určen výhradně pro vnitřní použití v systémech, které nejsou schopny dobře pracovat s úplnou znakovou sadou Unicode při použití standardních kódování, není zamýšlen jako formát pro obecnou výměnu dat.
Při kódování do CESU-8 se vstupní text nejprve zakóduje do UTF-16 (tzn. znaky mimo Basic Multilingual Plane se zapíší pomocí surrogate pairs), výsledek se poté zakóduje pomocí UTF-8. Znamená to, že kódování znaků BMP (všechny znaky od U+0000 do U+FFFF) je shodné v UTF-8 i CESU-8. Znaky, které jsou v UTF-8 kódovány do čtyř bajtů, jsou však v CESU-8 kódovány pomocí šestibajtové posloupnosti.
CESU-8 je obdobné tzv. Modified UTF-8, které se používá v Javě, ovšem s tím rozdílem, že se nepoužívá speciální kódování znaku U+0000.
V praxi se kódování CESU-8 používá při práci s některými databázemi (Oracle, MySQL), která neumějí pracovat s UTF-8 řetězci reprezentujícími znaky mimo BMP, ale nic nenamítají proti (z hlediska UTF-8 neplatnému) kódování těchto znaků prostřednictvím surrogate pairs, tzn. CESU-8.
Příklad kódování
| Vstup | U+0045 | U+0205 | U+10429 | |
|---|---|---|---|---|
| UTF-8 | 45 | C8 85 | F0 90 90 A9 | |
| UTF-16 | 0045 | 0205 | D801 | DC29 |
| CESU-8 | 45 | C8 85 | ED A0 81 | ED B0 A9 |
Je vidět, že znaky BMP jsou v UTF-8 i CESU-8 kódovány stejně, rozdíl je zde jen ve znaku U+10429, který leží mimo BMP.