Czym Jest Kodowanie Base64? Kompletnowe Wyjaśnienie
Szybka odpowiedź
Kodowanie Base64 konwertuje dane binarne na tekst używając 64 drukowalnych znaków (A-Z, a-z, 0-9, +, /). Każde 3 bajty inputu stają się 4 znakami Base64. Base64 jest odwracalne (nie szyfrowanie) i zwiększa rozmiar danych ~33%. Użyj naszego darmowego Base64 Encoder i Decoder.
Wstęp
Base64 to schemat kodowania binarnego-na-tekst, który konwertuje dane binarne na ciąg ASCII używając 64 drukowalnych znaków. Jest zdefiniowany przez RFC 4648 i powszechnie używany do kodowania danych transmitowanych przez media tekstowe —załączniki email (MIME), Data URLs, części tokenu JWT i payloady JSON z danymi binarnymi. Base64 to kodowanie, nie szyfrowanie —jest w pełni odwracalne i nie wymaga klucza.
Krok po kroku
-
Zrozumienie zestawu znaków
Base64 używa 64 znaków: A-Z (26), a-z (26), 0-9 (10), + i / (2). Znak = jest używany do dopełnienia, gdy długość wejściowa nie jest wielokrotnością 3. Wariant bezpieczny URL zastępuje + przez - i / przez _ i pomija dopełnienie.
-
Dowiedz się, jak działa kodowanie
Base64 przetwarza dane wejściowe w 3-bajtowych (24-bitowych) blokach. Każdy 24-bitowy blok jest podzielony na cztery 6-bitowe grupy. Każda wartość 6-bitowa (0-63) jest odwzorowywana na jeden z 64 znaków. Jeśli dane wejściowe nie są wielokrotnością 3, dodawane jest dopełnienie (=): 1 bajt wejściowy → 2 Base64 znaków + ==, 2 bajty → 3 znaki + =.
-
Zrozumienie narzutu związanego z rozmiarem
Base64 zwiększa rozmiar danych o około 33% — każde 3 bajty stają się 4 znakami. Plik o wielkości 1 MB staje się ~1,33 MB po zakodowaniu Base64. To obciążenie jest kompromisem w zakresie zgodności wyłącznie tekstowej.
-
Odróżnij kodowanie od szyfrowania
Base64 to kodowanie, a nie szyfrowanie. Można go odwrócić bez klucza — każdy może go rozszyfrować. Base64 nie zapewnia poufności; konwertuje tylko plik binarny na tekst na potrzeby transportu. Nigdy nie używaj Base64 do przechowywania haseł lub sekretów.
Przykłady
Zakoduj tekst
Wejście: Hello, World!
Wyjście: SGVsbG8sIFdvcmxkIQ==
Zakoduj dane binarne (pokazane jako szesnastkowe)
Wejście: Bajty: 0x00 0x01 0x02
Wyjście: AAEC
URL-bezpieczny Base64 (styl JWT)
Wejście: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)
Wyjście: Używany w tokenach JWT i parametrach URL
Typowe problemy
- Traktowanie Base64 jako szyfrowania —Base64 jest odwracalne bez klucza. Każdy może to rozszyfrować. Nigdy nie używaj go do ochrony wrażliwych danych.
- Znaki inne niż ASCII — naiwne użycie btoa() w Unicode. Użyj TextEncoder + btoa(unescape(encodeURIComponent(text))) lub narzędzia obsługującego UTF-8.
- Usuwanie dopełnienia — dopełnienie = jest częścią kodowania. Usunięcie go przerywa dekodowanie (chociaż niektóre dekodery mogą je zrekonstruować).
- Narzut związany z rozmiarem —Base64 zwiększa rozmiar danych o ~33%. W przypadku dużych plików ma to znaczenie; rozważ, czy kodowanie jest konieczne.
Porady
- Użyj Base64 dla danych URLs, aby osadzić małe obrazy w HTML/CSS bez osobnego żądania HTTP.
- Użyj URL bezpiecznego Base64 (zamień + na -, / na _, dopełnienie paska) dla tokenów URLs i JWT.
- Base64 nie jest szyfrowaniem — używaj go ze względu na zgodność transportową, a nie ze względu na poufność.
- Skorzystaj z naszego Base64 kodera i dekodera, aby uzyskać natychmiastową, prywatną konwersję w swojej przeglądarce.