mały|Diagram sposobu kodowania Base64 Base64 – rodzaj kodowania transportowego, zmodyfikowanego pod kątem zwiększenia przenośności kodowania uuencode. Kodowanie to zostało zdefiniowane w dokumencie .

Kodowanie Base64 służy do kodowania ciągu bajtów za pomocą ciągu znaków. Kodowanie to przypisuje 64 wybranym znakom (patrz tabelka niżej) wartości od 0 do 63. Ciąg bajtów poddawany kodowaniu dzielony jest na grupy po 3 bajty. Ponieważ bajt ma 8 bitów, grupa 3 bajtów składa się z 24 bitów. Każdą taką grupę dzieli się następnie na 4 jednostki 6-bitowe, więc istnieją dokładnie 64 możliwe wartości każdej z tych jednostek. Jednostkom przypisywane są odpowiednie znaki na podstawie arbitralnie ustalonego kodowania (patrz tabela poniżej). Jeśli rozmiar wejściowego ciągu bajtów nie jest wielokrotnością liczby 3, to stosowane jest dopełnianie – na końcu wynikowego ciągu dodawana jest taka liczba symboli dopełnienia (), aby ten miał długość podzielną przez 4.

WartośćZnakWartośćZnakWartośćZnak0A22W44s1B23X45t2C24Y46u3D25Z47v4E26a48w5F27b49x6G28c50y7H29d51z8I30e5209J31f53110K32g54211L33h55312M34i56413N35j57514O36k58615P37l59716Q38m60817R39n61918S40o62+19T41p63/20U42q21V43rpad=

Ostatnie dwa znaki nie są alfanumeryczne. W niektórych niestandardowych odmianach kodowania base64 mogą one zostać zastąpione znakami - i _ (dywiz i podkreślnik). Dzięki temu można umieścić fragment takiego kodu np. w adresie URL, co dla znaków + i / jest niemożliwe, gdyż plus jest zamieniany na spację, a ukośnik najczęściej oddziela fragmenty ścieżki w URL.

W urządzeniu, które używa 8-bitowego słowa do reprezentacji znaków, dane zakodowane przy pomocy base64 powiększają swój rozmiar o 33% – dlatego np. pliki binarne umieszczone w wiadomościach e-mail zwiększają swoją objętość o ⅓.

Przykład Zdanie (kodowane tutaj w ASCII – stąd brak polskich znaków diakrytycznych)

Idealy sa jak gwiazdy - nie mozna ich osiagnac, ale mozna sie nimi kierowac.

po zakodowaniu base64 wygląda następująco (znak powrotu karetki „CR” i nowej linii „LF” na końcu zdania również zostały zakodowane na potrzeby tego przykładu):

SWRlYWx5IHNhIGphayBnd2lhemR5IC0gbmllIG1vem5hIGljaCBvc2lhZ25hYywgYWxlIG1v em5hIHNpZSBuaW1pIGtpZXJvd2FjLg0K

Zastosowania Base64 jest wykorzystywane m.in. do: przesyłania załączników binarnych w poczcie elektronicznej, pamiętania ViewState w stronach WWW tworzonych przy użyciu technologii ASP.NET, kodowania haseł wysyłanych w protokole SMTP podczas uwierzytelniania metodami PLAIN i LOGIN. kodowania obrazów do zagnieżdżania wewnątrz HTML-a wg

Zobacz też Base85 MIME uuencode

Linki zewnętrzne Base64 Decode

Kategoria:Poczta elektroniczna Kategoria:Usenet Kategoria:Kodowanie transportowe Kategoria:Kodowania znaków Kategoria:Komputerowe reprezentacje danych Kategoria:Standardy informatyczne