4. Szövegek bináris tárolása, kódtáblák (jellemzők és különbségek)
Hogyan lehet a jeleket, mint diszkrét jeleket digitalizálni? Mi a különbség a karakter kódja és a karakter képének, formájának kódja között?
Ismertesse az ASCII kódot, és bővített változatait!
Ismertesse az UNICODE lényegét! Mi a jelentősége?
Milyen összefüggés van a kódolható karakterek száma és a kódszóban a bitek száma között?
Kódtáblázat vagy számítógép segítségével mutasson néhány példát a karakter-számkód párokra!
Minden adat kódolt formában van jelen
- A kódok előállítását – amikor jeleket meghatározott szabályok szerint az egyik jelrendszerből egy másik jelrendszerbeli jelekké alakítunk – kódolásnak nevezzük. A visszaállítást dekódolásnak mondjuk.
- A hírközlésben és a számítástechnikában rendkívül sok kódrendszer létezik: Morse ABC, telexkód, lyukkártyakód, stb. Például a BCD (Binárisan kódolt decimális) kódolás a tízes számrendszerbeli szám számjegyeit egyenként alakítja át kettes számrendszerbeli négybites számokká, és az így kapott bináris sor lesz a szám BCD kódja.
Kettes számrendszerbe átváltva:
237
|
1
|
118
|
0
|
59
|
1
|
29
|
1
|
14
|
0
|
7
|
1
|
3
|
1
|
1
|
1
|
0
|
A kettő kód nem ugyanaz!
<!--[if !supportLists]-->· <!--[endif]-->A karakterek (betűk, számjegyek, vezérlőjelek, egyéb grafikai jelek) diszkrét jelek, digitálisan kódolhatóak.
<!--[if !supportLists]-->· <!--[endif]-->Gyakran a kódolási szabály olyan, hogy a jelkészlet minden eleméhez a másik jelrendszerben egy adott hosszúságú elemi jelsorozatot (például 8 bitet) rendel: egy kódszót. A továbbiakban ilyen kódolással foglalkozunk (ASCII, UNICODE).
ASCII kódrendszer
Az USA Szabványügyi Hivatala – ASCII (American Standard Codes for Information and Interchange) – 128 féle karaktert kódolt 7 bites bináris kóddal (ez van az első képen), minden karakternek egy kettes számrendszerbeli szám felel meg, kölcsönösen egyértelműen (lásd a kódtáblázatot).
Az ASCII 8 bites (1 byte-os) kiterjesztése (ennek a második fele van a második képen) már 2*128=256 karakter kódját tartalmazza, az első 128 szám (0-127) az eredeti ASCII kódot, a második 128 szám (128-255) egyéb karakterek, például ékezetes betűk kódjait tartalmazza. A 128-255 számok felhasználásával sokféle nyelvet, nemzeti betűkészletet is figyelembevevő kódtábla készült. (A teljes magyar karakterkészletet a 852-es jelű kódlap tartalmazza, illetve a Windows-ban az 1250-es.)
Fontos megkülönböztetnünk a karakter kódját a karakter képétől, grafikai megjelenésétől (ha van ilyen). Hiszen a karakter képe is kódolható bitsorokkal, és kódolva is van – különben nem jelenhetne meg nyomtatáskor. A karakter képe – mivel ez is egy kép – sokkal több byte-on tárolható.
Unicode kódrendszer
A többféle 8 bites kódlap sok problémát vetett fel. A UNICODE 16 biten ábrázolja a karaktereket, megteremtve 65536-féle karakter kódolásának lehetőségét (1991-től).
A UNICODE felülről kompatibilis az ASCII-kóddal, és tartalmazza a ma használt írások nagy részének karakterkészleteit (görög, cirill, héber, arab, kínai, japán, tibeti, stb.).
A UNICODE 1 helyett két byte-ot használ a karakterek kódolására, ami dupla adatmennyiség (ezt hátránynak tekinthetnénk), de rendkívül sokféle karaktert tartalmaz, így viszonylag univerzális (ez pedig előny). A UNICODE jelentősége az, hogy a különböző nyelvekben, illetve országokban egységes, szabványos kódrendszert használnak, ami megkönnyíti a legkülönfélébb adatkezelési feladatok megoldását.
Konverzió kódrendszerek között
Adatoknak az egyik kódrendszerből a másik kódrendszerbe való átkódolását konverziónak nevezzük. A konverziót program végzi. Előfordul, hogy az egyik kódtábla szerint előállított adatfájlt egy másik kódtáblát használó rendszerben kell alkalmazni.
<!--[if !supportLists]-->Ø <!--[endif]-->Kódolás fogalma
<!--[if !supportLists]-->Ø <!--[endif]-->Dekódolás fogalma
<!--[if !supportLists]-->Ø <!--[endif]-->Példák kódrendszerekre
<!--[if !supportLists]-->Ø <!--[endif]-->BCD kód + rajz
<!--[if !supportLists]-->Ø <!--[endif]-->Kódolás kódszóval
<!--[if !supportLists]-->Ø <!--[endif]-->Konverzió kódrendszerek között
<!--[if !supportLists]-->Ø <!--[endif]-->A karakter grafikai megjelenése – képként, nyomtatáskor + kép
<!--[if !supportLists]-->Ø <!--[endif]-->ASCII kódrendszer
<!--[if !supportLists]-->§ <!--[endif]-->7 bites - 128 féle karakter
<!--[if !supportLists]-->§ <!--[endif]-->8 bites (1 byte) - 256 féle karakter
<!--[if !supportLists]-->¨ <!--[endif]-->első 128 szám
<!--[if !supportLists]-->¨ <!--[endif]-->második 128 szám
<!--[if !supportLists]-->§ <!--[endif]-->Kép: ASCII 437-es kódlap (angol)
<!--[if !supportLists]-->§ <!--[endif]-->Kép: ASCII 852-es kódlap (magyar)
Feladat: Ezen a képen Paint segítségével jelöljük meg a különböző karaktercsoportokat más-más színnel, nyilazzuk oda az elnevezéseket: vezérlőjelek, írásjelek, számok, az angol ábécé nagybetűi, kisbetűi, nemzeti ábécé nagybetűi, kisbetűi. Jelöljük meg a számozást is, írjuk mellé, milyen számrendszerben van.
Feladat: Ezen a képen Paint segítségével jelöljük meg a különböző karaktercsoportokat más-más színnel, nyilazzuk oda az elnevezéseket: vezérlőjelek, írásjelek, számok, az angol ábécé nagybetűi, kisbetűi, nemzeti ábécé nagybetűi, kisbetűi. Jelöljük meg a számozást is, írjuk mellé, milyen számrendszerben van.
<!--[if !supportLists]-->§ <!--[endif]-->hátránya
<!--[if !supportLists]-->Ø <!--[endif]-->UNICODE kódrendszer
<!--[if !supportLists]-->§ <!--[endif]-->16 bites (2 byte) -65536 féle karakter
<!--[if !supportLists]-->§ <!--[endif]-->előnye
<!--[if !supportLists]-->§ <!--[endif]-->Kép a 437-es és a 852-es ASCII kódlapnak megfelelő részekről + 1 tetszőlegesről (Görög, stb.)
Nincsenek megjegyzések:
Megjegyzés küldése
Megjegyzés: Megjegyzéseket csak a blog tagjai írhatnak a blogba.