tanszek:oktatas:infrendalapjai_architekturak:informacio_feldolgozas:karakter_kodolas
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
tanszek:oktatas:infrendalapjai_architekturak:informacio_feldolgozas:karakter_kodolas [2024/11/12 20:08] – created knehez | tanszek:oktatas:infrendalapjai_architekturak:informacio_feldolgozas:karakter_kodolas [2024/11/12 20:17] (current) – [Base64 kódolás] knehez | ||
---|---|---|---|
Line 37: | Line 37: | ||
// | // | ||
+ | |||
+ | ==== Base64 kódolás ==== | ||
+ | |||
+ | Ez valójában nem karakter kódolás, de didaktikailag ide illik. | ||
+ | |||
+ | Multipurpose Internet Mail Extensions (**MIME**) az internet hivatalos levélformátuma. A levelek az **SMTP** (Simple Mail Transfer Protocol) protokoll segítségével továbbítódnak a címzetthez. Az **SMTP** protokoll csak 7 bites **ASCII** karakterek továbbítását támogatja. A **MIME** szabvány többféle módszert támogat a bináris adatok továbbításához. Az egyik legismertebb a Base-64 kódolás. | ||
+ | |||
+ | A következő példában egy melléklettel rendelkező email-t láthatunk, azaz a forrásadatot amit a levelező programok értelmeznek: | ||
+ | |||
+ | < | ||
+ | Content-type: | ||
+ | MIME-version: | ||
+ | --frontier | ||
+ | Content-type: | ||
+ | This is the body of the message. | ||
+ | --frontier | ||
+ | Content-type: | ||
+ | Content-transfer-encoding: | ||
+ | gajwO4+n2Fy4FV3V7zD9awd7uG8/ | ||
+ | AhSzlZnyLAF8na0n7g6OSeej7EjlF/ | ||
+ | --frontier-- | ||
+ | </ | ||
+ | |||
+ | Hátulról a második és harmadik sorban láthatóak base64 kódolt adatok. Nézzük hogyan jön ez létre. | ||
+ | |||
+ | **Base64** kódolás (vagy általánosabban adat reprezentáció) egy 64 jelből álló készleten alapul. Olyan, mintha **64**-es számrendszerbe írnánk át az adatainkat. A kódolást 6 bites csoportokon végezzük. | ||
+ | |||
+ | < | ||
+ | 0..25 – ' | ||
+ | 26..51 | ||
+ | 52..61 | ||
+ | 62 – ' | ||
+ | 63 – '/' | ||
+ | </ | ||
+ | |||
+ | Azaz 0 és 25 között használjuk az angol ABC első 26 nagybetűjét, | ||
+ | |||
+ | === Példa === | ||
+ | |||
+ | Kódoljuk a következő bináris adatot Base-64 kódolás szerint: | ||
+ | |||
+ | '' | ||
+ | |||
+ | Bontsuk fel két 6 bites részre: | ||
+ | |||
+ | '' | ||
+ | |||
+ | Ezek decimálisan 12 és 51. A táblázat alapján: 12 = M és 51 = z | ||
+ | |||
+ | Az eredmény: | ||
+ | |||
+ | **Mz** | ||
+ | |||
+ | ---- | ||
+ | |||
+ | A Base-64 kódolás 3 byte-onként történik és 3 byte kódolt eredménye 4 karakter lesz. Hogyan kódolunk, ha a kódolandó bájtok száma nem osztható 3-al? (ilyen kor 1 vagy 2 db egyenlőséggel jelöljük ezeket az eseteket az alábbi példák alapján) | ||
+ | |||
+ | Kódoljuk a '' | ||
+ | |||
+ | 1. Egészítsük ki 3 byte-ra '' | ||
+ | |||
+ | 2. Bontsuk fel 6 bites csoportokra: | ||
+ | |||
+ | 3. Az eredmény '' | ||
+ | |||
+ | Most pedig kódoljuk a '' | ||
+ | |||
+ | 1. Egészítsük ki 3 byte-ra '' | ||
+ | |||
+ | 2. Bontsuk fel 6 bites csoportokra: | ||
+ | |||
+ | 3. Az eredmény '' | ||
+ | |||
+ | **Base-64 dekódolás**: | ||
+ | |||
+ | A kódolás fontos előnye, hogy sortörő karaktert is tartalmazhat. (minden olyan karaktert is, ami a kódtáblázatból hiányzik). De a dekódolásnál ezt figyelembe kell venni. | ||
+ | |||
+ |
tanszek/oktatas/infrendalapjai_architekturak/informacio_feldolgozas/karakter_kodolas.1731442139.txt.gz · Last modified: 2024/11/12 20:08 by knehez