2017. jún 18.

Kódolás

írta: Cartoonguba
Kódolás

Fogalma: kódolásnak nevezzük azt a folyamatot, amikor egy jelhalmaz minden elemének valamely szabály szerint egy másik jelhalmaz elméletét feleltetjük meg. A kódolás igen gyakori a hétköznapi életben.
Célja: a kódképzésnek számos oka lehet: egyik jelkészletből a kezelhetőség okán egy másikba való átfordítás, a kódolt jelsorozat kisebb mérete, az eredeti jelsorozat értelmezésének nehezítése, azaz titkosítás.
Fajtái:
A kódolás reverzibilis, a kódolt adatokat visszaalakíthatjuk.
Irreverzibilis a kódolt jelsorozatot nem lehet visszaállítani, titkosítás
Kódrendszerek: morse, lyukkártya, hangok képek digitalizálása.

Ascii-kód:
(American Standard Code for Information Interchange) egy karakterkészlet és karakterkódolási szabvány, amely a latin ábécén alapul és az angol nyelvben, és sok nyugat-európai nyelvben használatos betűket tartalmazza. Leggyakoribb felhasználása a számítógépeken illetve szövegeket kezelő egyszerű eszközökön használt szövegek reprezentációja.

Unicode:
Unicode az egyik elterjedt megoldás a természetes nyelvekben megtalálható különböző írásjelek egységes kódtáblába foglalására.
A számítógépek csak számokat képesek kezelni, ezért ki kellett találni valamilyen megoldást arra, hogy ember által érthető információkat közöljenek. Kézenfekvő volt egy megállapodás, miszerint egy bájt tárol egy karaktert, ami 256 karakter ábrázolását tette volna lehetővé. Az első számítógépek angolszász nyelvterületen készültek, és a betűket ennek megfelelően válogatták össze, és megállapodtak abban, hogy melyik szám melyik betűt jelenti. Ilyen megállapodások például az ASCII és az EBCDIC is.
A személyi számítógépekkel együtt az ASCII terjedt el, ami eredetileg csak 7 bitet használt, ezzel 127 különböző karaktert írt le. Ezek tartalmazták az angol ábécé kis- és nagybetűit, a számokat és sok nem nyomtatható karaktert.

Később felmerült az igény arra, hogy az egyes nemzetek a saját nyelvükön kommunikáljanak a számítógéppel. Ekkor az ASCII kódtábla 127-nél nagyobb elemeinek a jelentését úgy határozták meg, hogy az csak egy megadott kódlap esetén értelmezhető egyértelműen, vagyis például a 250-es szám jelentése (az általa ábrázolt karakter) attól függött, hogy milyen kódtábla szerint értelmeztük az adott szöveget.
Ezek csak részmegoldások voltak és sok problémát okozott, hogy nem minden esetben lehetett megállapítani az ékezetes karakterek (127-nél nagyobb számok) eredetét.
A jelenleg használt Unicode formák közül a legelterjedtebb az UTF-8, ami változó hosszúságú kódolással (8-64 bit) jeleníti meg a Unicode jeleit.
Fontosabb Unicode rendszer : UTF-8
Az UTF-8 (8-bit Unicode Transformation Format, 8 bites Unicode átalakítási formátum) egy veszteségmentes, változó hosszúságú Unicode karakterkódolási eljárás. Bármilyen Unicode karaktert képes reprezentálni, ugyanakkor visszafelé kompatibilis a 7 bites ASCII szabvánnyal. Az UTF-8 kódolás különösen alkalmas 8 bites átviteli közegek számára, mint amilyen az e-mail vagy a weblapok.

Az angolszász, majd az európai országokból kiindulva az ASCII után először az úgynevezett Latin-1 kódolás terjedt el, ami tartalmazza az összes angol nyelvhez szükséges betűt, illetve számos európai nyelv betűit, de például a magyar „ő” és „ű” betűket nem (ezek helyett – helytelenül – gyakran használják a hullámos, illetve a kalapos betűket: û ô vagy õ). Magyarhoz lehet azonban a Latin-2 (kelet európai) kódolást is használni, ami ismeri az ő és ű betűinket, de nem ismer más fontos betűket, például a cirill, görög, vagy például a kínai, örmény, indiai, arab és héber betűket. A Unicode és az UTF-8 kódolás egyszerre támogatja mindezen karakterek megjelenítését, és így minden nyelv egységes kódolást tud használni, megelőzve a betűk nem tervezett „átalakulását”.

Az UTF-8 egy Unicode jel kódolására 1-4 bájtot használ, a jel elhelyezkedésétől függően. Az US-ASCII kódolás szerinti karaktereket például egyetlen UTF-8 byte kódolja (ezek a Unicode U+0000 – U+007F tartományban helyezkednek el), az európai ékezetes betűket pedig két UTF-8 bájt.
Ez a kódolás nagyon elterjedt, mivel zökkenőmentes átmenetet biztosít az ASCII vagy ISO alapú rendszerekből. Emellett a kódolt végeredmény jól tömöríthető.
Hátrányai
Gazdaságtalan európai és más latin betűs (pl. török) nyelvekre, melyeket az ISO kódok teljesen lefednek.
Elterjedése
Meglehetősen elterjedt Linux rendszereken, de a Microsoft Windows rendszer XP-től fölfelé is teljeskörűen támogatja. Az IETF (Internet Engineering Task Force) minden Internet protokolltól megköveteli, hogy az általa használt kódolások között szerepeljen az UTF-8. Az IMC (Internet Mail Consortium) javaslata szerint minden e-mail kliensnek meg kell tudni jeleníteni az UTF-8 kódolású leveleket, és létre kell tudnia hozni azokat.

Szólj hozzá