Czym jest kodowanie Base64 i kiedy go używać
Jeśli pracujesz z API, systemami e-mail lub rozwojem stron internetowych, napotkałeś Base64 — nawet bez rozpoznania go. Te długie ciągi liter i cyfr, które wyglądają jak bełkot? To prawdopodobnie Base64.
Co robi Base64
Base64 konwertuje dane binarne (dowolną sekwencję bajtów) na ciąg tekstu używający tylko 64 „bezpiecznych” znaków: A-Z, a-z, 0-9, + i /. Wynik zawsze kończy się wypełnieniem =, jeśli to konieczne.
Przykład:
- Tekst:
Hello World - Base64:
SGVsbG8gV29ybGQ=
To kodowanie istnieje, ponieważ wiele systemów (e-mail, JSON, URL, XML) obsługuje tylko tekst. Dane binarne — obrazy, skompresowane pliki, surowe bajty — mogą zawierać znaki, które łamią te systemy. Base64 konwertuje binarny na tekst, który przechodzi przez każdy kanał tekstowy bez uszkodzenia.
Częste zastosowania
Osadzanie obrazów w HTML/CSS:
<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />
Małe ikony i logotypy mogą być osadzane bezpośrednio w Twoim HTML, eliminując dodatkowe żądanie HTTP.
Ładunki API: gdy API oczekuje JSON, ale musisz dołączyć dane binarne (przesyłanie pliku, obraz podpisu), kodowanie ich w Base64 pozwala dołączyć je jako zwykłe pole tekstowe.
Załączniki e-mail: protokoły poczty (SMTP) są tekstowe. Każdy załącznik jest kodowany w Base64 za kulisami, aby podróżować jako tekst.
Nagłówki uwierzytelniania: uwierzytelnianie HTTP Basic koduje użytkownik:hasło w Base64 w nagłówku Authorization. (To kodowanie, a nie szyfrowanie — samo w sobie nie zapewnia żadnego bezpieczeństwa.)
Jak kodować i dekodować
- Wybierz kodowanie lub dekodowanie — wybierz kierunek konwersji.
- Wklej tekst lub prześlij plik — wprowadź tekst bezpośrednio lub przeciągnij i upuść plik (do 5 MB).
- Skopiuj wynik — wyjście aktualizuje się natychmiast. Skopiuj je do schowka.
Kiedy używać Base64
Używaj, gdy:
- Musisz osadzić mały obraz (mniej niż 5 KB) bezpośrednio w HTML lub CSS
- API wymaga danych binarnych jako ciągu tekstowego
- Musisz przesłać binarne przez system, który obsługuje tylko tekst
Nie używaj, gdy:
- Plik jest duży — Base64 dodaje 33% narzutu i uniemożliwia buforowanie
- Potrzebujesz bezpieczeństwa — Base64 to nie szyfrowanie
- Możesz serwować plik normalnie — klasyczne
<img src="photo.jpg">jest bardziej wydajne niż Data URL Base64 dla wszystkiego, co przekracza kilka KB
Wskazówki
- Tylko małe pliki — wzrost o 33% ma znaczenie. Obraz 100 KB staje się 133 KB w Base64 i nie może być buforowany osobno przez przeglądarkę.
- Nie myl kodowania z szyfrowaniem — Base64 jest całkowicie odwracalny przez każdego. Nie zapewnia żadnego bezpieczeństwa. Używaj go do transportu danych, a nie do ich ochrony.
- Uważaj na znaki nowej linii — niektóre implementacje Base64 dodają znak nowej linii co 76 znaków (zgodnie ze standardem MIME). Jeśli wklejasz Base64 do JSON lub URL, upewnij się, że mieści się w jednej linii.
Najczęściej zadawane pytania
Czy Base64 szyfruje moje dane?
Nie. Base64 to kodowanie, a nie szyfrowanie. Każdy może zdekodować ciąg Base64 — nie zapewnia żadnego bezpieczeństwa. Jeśli chcesz chronić dane, użyj prawdziwego szyfrowania (AES, RSA itp.).
Dlaczego Base64 czyni pliki cięższymi?
Kodowanie Base64 zwiększa rozmiar danych o około 33%. Trzy bajty binarne stają się czterema znakami Base64. Ten narzut to cena za możliwość bezpiecznego przesyłania binarnego jako tekstu.
Czy mogę kodować pliki, a nie tylko tekst?
Tak. Każdy plik (obrazy, PDF, audio) można zakodować w Base64. Jest to powszechnie używane do osadzania małych obrazów bezpośrednio w HTML lub CSS jako Data URL.
Kiedy NIE używać Base64?
Nie używaj go do dużych plików. Obraz 1 MB staje się 1,33 MB w tekście Base64, a przeglądarka nie może go buforować osobno. Dla wszystkiego, co przekracza kilka KB, serwowanie pliku normalnie jest bardziej wydajne.