UTF-8
Az UTF-8 az angol Unicode Transformation format rövidítése. Egy karakterkódolási formát jelöl, amivel a teljes Unicode karakterkészlet ábrázolható (ez 2^21=2097152 karakterhelyet jelent).
A kódolás változó hosszúságú, vagyis egy karaktert vagy egy bájt, vagy néhány (legfeljebb 4) bájt sorozata kódol. Az ASCII karakterek kódja megegyezik az ASCII kódokkal, ezért a csak latin betűkkel írt szövegek változatlanul maradnak, a latintól kevés karakterben eltérőek (ilyen például a magyar) felismerhetőek maradnak a kódolás után.
Az ASCII-től eltérő kódú karaktereket az UTF-8 a következőképpen ábrázolja: Az első bájt felső bitjei (annyi, ahány bájtot a kód elfoglal) 1-ek, a következő bit 0, utána szerepelnek a maximum 21 bites kód legfelsőbb értékes bitjei. A további bájtok felső két bitje 10, az azt követő bitek pedig a kód további bitjeit tartalmazzák. Fontos szabály, hogy a kód nem lehet hosszabb a minimálisan szükségesnél, például egy kérdőjelet nem szabad 3F helyett C0 BF (vagy E0 C0 BF stb) szekvenciával ábrázolni, az ilyen inputot pedig hibásként el kell utasítani.
Az UTF-8 fontos előnyei (ASCII kompatibilitás, Unicode lefedettség, aránylag tömör ábrázolás) és kevés hátránya (nehezebb szövegfeldolgozás) miatt igen népszerű a mai rendszerekben. Az elterjedt platformok támogatják, van, ahol alapértelmezett kódolásként szolgál.
Példa[szerkesztés]
Az alábbi példában
S á r g á n v i r á g z i k a t ö k
53 C3 A1 72 67 C3 A1 6E 20 76 69 72 C3 A1 67 7A 69 6B 20 61 20 74 C3 B6 6B
az á kódja C3 A1 = 11000011 10100001
Az első bájt 2 felső bitje 1, vagyis a kód kétbájtos. Utána egy 0, majd 00011 következik.
A második bájt felső két bitje 10, ezt 100001 követi, tehát a karakter 32-bites kódja
00011 100001, vagyis 11100001, tehát a karakter az U+00E1, ami valóban a kis á.
Története[szerkesztés]
- 1992-ben a Plan 9 operációs rendszerben született meg az UTF-8.
- 2001 környékén kezdett Linux operációs rendszer szoftvereiben terjedni. A legtöbb disztribúció teljes átállásra azonban 2006-ig várni kellett.
- 2009 nyarán került bele a FreeBSD-be a rendszer szintű UTF8 támogatás.
- 2010 nyarán az igen konzervatív OpenBSD-be is megérkezett az UTF-8 támogatás.