Kódování Base64 má primární účel převést binární řetězec do snadno čitelné textové podoby s podstatně menší velikostí. Využívá k tomu převod na základ 64.

Kódování Base64

Kódování Base64 je jiný typ kódování, než ostatní zmíněné. Jeho hlavní účel je převod dat z binární podoby do textové podoby. Najde využití například při využití v HTML formátu (jako URL nemohou být všechny znaky ASCII), dále například při uploadu souborů ve webových formulářích apod.

Princip

Funguje na principu převodu čísla do soustavy o základu 64. Přičemž jednotlivé symboly (de facto cifry) jsou reprezentovány následujícími znaky:

HodnotaKódHodnotaKódHodnotaKódHodnotaKód
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 /

Převod probíhá tak, že binární řetězec na vstupu se doplní o jeden až dva bajty nul (tj. 8 či 16 nul) zprava tak, aby jeho bitová velikost byla dělitelná šesti a to protože převod do soustavy o základu 64 probíhá zleva doprava po šesticích bitů, dle logiky z následujícího obrázku:

Ukázka kódování Base64

Na konci potřeba určit, kolik bajtů na konci se přidalo, to se dělá pomocí symbolu = (rovná se), jedno rovnítko znamená, že je na konci navíc jeden nulový bajt, dvě rovnítka znamenají dva nulové bajty (přidávají se, aby bitová velikost zprávy byla dělitelná šesti).