Base64
URL (ang. Uniform Resource Locator) – oznacza ujednolicony format adresowania zasobów (informacji, danych, usług) stosowany w Internecie i w sieciach lokalnych.uuencode (z ang. Unix to Unix Encode) – kodowanie transportowe, sposób konwertowania plików zawierających znaki spoza zestawu ASCII (w szczególności plików binarnych) na kod ASCII, wykorzystywany podczas wymiany poczty elektronicznej. Pozwala na wysłanie załączników przez Internet w taki sposób, aby inny komputer mógł przywrócić plikowi oryginalny format. Nazwa kodowania i programu kodującego wywodzi się od pierwotnego zastosowania do przesyłania plików z wykorzystaniem oprogramowania UUCP. Protokół UUCP konwertuje znaki między poszczególnymi stronami kodowymi i z tego powodu nie nadaje się do bezpośredniego przesyłania plików binarnych.
Base85 (inne nazwy Ascii85, Z85) – rodzaj kodowania transportowego umożliwiającego przekazywanie binarnych danych w środowisku, w którym dopuszczalne jest używanie jedynie znaków ASCII.
Base64 – rodzaj kodowania transportowego, zmodyfikowanego pod kątem zwiększenia przenośności kodowania uuencode. Kodowanie to zostało zdefiniowane w dokumencie RFC 4648 ↓.
Kodowanie[ | edytuj kod]
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 (ang. pad), aby ten miał długość podzielną przez 4.
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[ | edytuj kod]
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[ | edytuj kod]
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.