Kodowanie Base64

Za pomocą narzędzia Base64 Encoding możesz zaszyfrować wprowadzany tekst metodą Base64. Jeśli chcesz, możesz odszyfrować zaszyfrowany kod Base64 za pomocą narzędzia Base64 Decode.

Co to jest kodowanie Base64?

Kodowanie Base64 to schemat kodowania, który umożliwia przesyłanie danych binarnych w środowiskach korzystających tylko z niektórych ograniczonych kodowań znaków (środowisk, w których nie można używać wszystkich kodów znaków, takich jak xml, html, skrypty, komunikatory). Liczba znaków w tym schemacie to 64, a liczba 64 w słowie Base64 pochodzi stąd.

Dlaczego warto korzystać z kodowania Base64?

Potrzeba kodowania Base64 wynika z problemów, które pojawiają się, gdy media są przesyłane w nieprzetworzonym formacie binarnym do systemów tekstowych. Ponieważ systemy tekstowe (takie jak poczta e-mail) interpretują dane binarne jako szeroki zakres znaków, w tym specjalne znaki poleceń, większość danych binarnych przesyłanych do nośnika jest błędnie interpretowana przez te systemy i zostaje utracona lub uszkodzona podczas transmisji proces.

Jedną z metod kodowania takich danych binarnych w sposób, który pozwala uniknąć takich problemów z transmisją, jest wysyłanie ich jako zwykłego tekstu ASCII w formacie zakodowanym w standardzie Base64. Jest to jedna z technik używanych przez standard MIME do wysyłania danych innych niż zwykły tekst. Wiele języków programowania, takich jak PHP i Javascript, zawiera funkcje kodowania i dekodowania Base64 w celu interpretacji danych przesyłanych za pomocą kodowania Base64.

Logika kodowania Base64

W kodowaniu Base64 3 * 8 bitów = 24 bity danych składające się z 3 bajtów są podzielone na 4 grupy po 6 bitów. Znaki odpowiadające wartościom dziesiętnym pomiędzy [0-64] z tych 4 6-bitowych grup są dopasowywane z tabeli Base64 w celu zakodowania. Liczba znaków uzyskanych w wyniku kodowania Base64 musi być wielokrotnością 4. Zakodowane dane, które nie są wielokrotnością 4, nie są prawidłowymi danymi Base64. Podczas kodowania za pomocą algorytmu Base64, po zakończeniu kodowania, jeśli długość danych nie jest wielokrotnością 4, znak „=” (równy) jest dodawany na końcu kodowania, aż będzie wielokrotnością liczby 4. Na przykład, jeśli w wyniku kodowania mamy 10-znakowe dane zakodowane w Base64, na końcu należy dodać dwa „==”.

Przykład kodowania Base64

Na przykład weź trzy numery ASCII 155, 162 i 233. Te trzy liczby tworzą binarny strumień 100110111010001011101001. Plik binarny, taki jak obraz, zawiera strumień binarny, który działa dla dziesiątek lub setek tysięcy zer i jedynek. Koder Base64 rozpoczyna się od podzielenia strumienia binarnego na grupy składające się z sześciu znaków: 100110 111010 001011 101001. Każde z tych grup jest tłumaczone na liczby 38, 58, 11 i 41. Sześcioznakowy strumień binarny jest konwertowany na binarny (lub podstawowy). 2) na znaki dziesiętne (o podstawie 10), podnosząc do kwadratu każdą wartość reprezentowaną przez 1 w tablicy binarnej przez kwadrat pozycyjny. Zaczynając od prawej strony i przesuwając się w lewo i zaczynając od zera, wartości w strumieniu binarnym reprezentują 2^0, potem 2^1, potem 2^2, potem 2^3, potem 2^4, potem 2^ 5.

Oto inny sposób patrzenia na to. Począwszy od lewej, każda pozycja jest warta 1, 2, 4, 8, 16 i 32. Jeśli slot ma binarną liczbę 1, dodajesz tę wartość; jeśli slot ma 0, brakuje ci. Tablica binarna 100110 zmienia 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 dziesiętne + 4 + 0 + 0 + 32. Kodowanie Base64 bierze ten ciąg binarny i dzieli go na 6-bitowe wartości 38, 58, 11 i 41. Na koniec liczby te są konwertowane na znaki ASCII przy użyciu tabeli kodowania Base64.