Co to jest Base64?

Base64 to metoda konwersji dowolnych danych binarnych, danych zawierających więcej niż zwykłych znaków tekstowych, w zwykły komunikat tekstowy, który można następnie przenieść w sieci komputerowej. To nazywa się kodowaniem. Chociaż wyjście wiadomości zakodowanej przez Base64 nie jest czymś, co człowiek może z łatwością zrozumieć, nadal składa się z 64 popularnych znaków języka angielskiego, z którego pochodzi nazwa, z dodatkową 65. znakiem używanym do specjalnych celów.

Pomysł za Base64 pojawił się, ponieważ potrzeba pojawiła się więcej niż proste znaki tekstowe poprzez komunikację sieciową, takie jak poczta e -mail. Pierwsze wiadomości e -mail zaczęły się jako znaki kodowane w amerykańskim standardowym kodzie interchange (ASCII), metodę kodowania używaną w komputerach do reprezentowania znaków alfabetu języka angielskiego jako tekstu na wyświetlaczach lub drukarkach. Ponieważ do przejścia potrzebne dodatkowe informacje binarne opracowano nowe schematy kodowania.

Metoda kodowania Base64 została po raz pierwszy opisana w standardzie wielofunkcyjnego rozszerzenia poczty internetowej (MIME). Metody zdefiniowane standardowe MIME, za pomocą których inne znaki, które nie zostały zakodowane, takie jak alfabety używane przez języki nieanglojęzyczne, a także inne dowolne dane binarne, mogą być również zakodowane w sekwencjach ASCII i przesyłane za pośrednictwem wiadomości e-mail. Spośród dwóch podstawowych środków kodowania opisanego przez standard MIME, Base64 dzieli rolę z innym znanym jako cytowany drukowana. Podczas gdy metoda cytowanej drukowanej jest w stanie rozszerzyć ASCII nieco poza jej ograniczone 94 znaki do wydruku, Base64 może przyjmować dowolną sekwencję bajtów i przekonwertować ją w sekwencję ASCII.

Base64 musi przyjmować struny danych, które w innym przypadku nie spełniają standardu ASCII i przekonwertować je na ASCII. Aby to zrobić, metodą kodowania jest proces gromadzenia danych w grupach trzech bajtówi przekształcanie ich w cztery liczby reprezentujące odpowiednie znaki ASCII. Ponieważ bajt ma osiem bitów, gdzie każdy bit jest reprezentowany przez jeden lub zero, trzy bajty są połączone od końca do końca, a cała sekwencja przechodzi w 24-bitowy bufor. 24 i zera są następnie podzielone na cztery grupy sześciu bitów, w których każda z nich przypisuje się liczby pasujące do postaci ASCII.

Ponieważ Base64 jest w stanie kodować dowolne dane binarne, każda sekwencja bajtów może przejść proces. Istnieje jednak haczyk, w przypadkach, w których liczba bajtów do kodowania nie jest podzielna przez trzy, aby bity mogły zmieścić się w buforze. Jeśli sekwencja bajtów zawiera, powiedzmy, cztery lub pięć bajtów, nadal jest potrzebne do wypełnienia bufora i tworzenia pełnych 24 bitów. W takich przypadkach każdy brakujący bajt jest reprezentowany przez osiem 0s, a następnie jest przekształcany w wyściółki w gotowym kodowaniu. Stąd pochodzi wcześniej wspomniana 65. postaćEsed w zakodowanym komunikatie z znakiem równości (=); pojawia się tylko na samym końcu kodowania, jeśli konieczne będzie wypełniacz.

Chociaż Base64 został pierwotnie opracowany do przesyłania danych binarnych za pośrednictwem wiadomości e -mail, jego użycie zostało w wielu innych obszarach oprócz MIME. Jednym z takich dość powszechnych zastosowań jest bazy danych i aplikacji do kodowania danych do tworzenia jednolitego lokalizatora zasobów (URL) w formularzu internetowym. Rozszerzalny język znaczników (XML) wykorzystuje również wariant, który pozwala na włączenie danych binarnych, takich jak małe obrazy, w dokumentach XML. Istnieją inne odmiany dla metod szyfrowania i innych technik związanych z bezpieczeństwem, takimi jak ukrywanie haseł.

INNE JĘZYKI