Base64

A Wikipédiából, a szabad enciklopédiából

A Base64 kódolás 64 karakterből álló ábécén alapuló tartalomkódolási forma, melynek segítségével bináris, illetve speciális karaktereket tartalmazó adatokból ASCII karaktersorozat állítható elő. Az ily módon kódolt adatok akár a karaktereket 7 biten ábrázoló rendszereken is könnyen átvihetők.

Működése[szerkesztés | forrásszöveg szerkesztése]

A base64 kódolás során a kódolandó adathalmazt először 3 bájtból álló egységekre bontjuk, majd ezt az egységet bináris formára (24 bitre) alakítjuk. A 24 bitet ezután 6 bites darabkákra kell felszabdalni, majd az így kapott, 6 biten ábrázolt számokat indexként használva kell kikeresni a kódtáblából a kódolt karaktert. Látható, hogy a kódolás révén minden három kódolatlan karakter négy kódolttá alakul.

Az egyes bithatosokat reprezentáló karakterek (64 db) az alábbiak: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

A kódolt szövegben előfordulhat még:

  • egyenlőségjel ('='), amellyel a kódolt szöveget szokás néggyel osztható hosszúságúra kiegészíteni
  • kocsi-vissza, a visszafejtésnél figyelmen kívül kell hagyni
  • soremelés, a visszafejtésnél figyelmen kívül kell hagyni

Példák[szerkesztés | forrásszöveg szerkesztése]

Az angol Man szó kódolása[szerkesztés | forrásszöveg szerkesztése]

Szöveg M a n
ASCII kód 77 97 110
Bitminta 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0
Kódtábla indexe 19 22 5 46
Base64-kódolt T W F u

Az AbCd szó kódolása[szerkesztés | forrásszöveg szerkesztése]

Az AbCd szó karaktereinek ASCII kódjai: 41, 62, 43, 64. Ezek bináris formája: 01000001, 01100010, 01000011, 01100100. Az így kapott 32 bit hatos csoportokra bontva (kiegészítve nullákkal): 010000, 010110, 001001, 000011, 011001, 000000, melyek megadják a kódtábla-beli indexeket: 16, 22, 9, 3, 25, 0. Az egyes bithatosokhoz tartozó jelek a táblázat alapján: QWJDZA, kiegészítve néggyel osztható hosszra: QWJDZA==.

Base64 kódtábla (a fordítás utolsó lépéséhez) :

A Base64 kódtábla[szerkesztés | forrásszöveg szerkesztése]

Érték Karakter   Érték Karakter   Érték Karakter   Érték Karakter
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]