Narzędzie paddingu Base64

Wejście
charakter. Wypełnij: 0 =

Oblicz prawidłową liczbę końcowych znaków = dla dowolnego ciągu Base64 zgodnie z RFC 4648. Dodawaj lub usuwaj padding w czasie rzeczywistym, aby naprawić ciągi niezgodne ze standardem. Wszystko działa lokalnie w przeglądarce.

Powiązane Rekomendacje

Czym jest padding Base64?

Padding Base64 to znak '=' zdefiniowany w RFC 4648, który zapewnia, że długość wyjściowa Base64 jest wielokrotnością 4. Base64 mapuje 3 bajty (24 bity) na 4 znaki, więc gdy wejście nie jest wielokrotnością 3 bajtów, ostatnia grupa wymaga dopełnienia znakiem =, aby dekoder mógł określić liczbę rzeczywistych bajtów.

Reguły paddingu: ① bajty % 3 = 0 → 0 końcowych =; ② % 3 = 1 → 2 końcowe =; ③ % 3 = 2 → 1 końcowy =. Równoważnie, długość Base64 % 4 bezpośrednio mówi, ile = brakuje.

Dlaczego padding jest ważny: dekodowanie Base64 wymaga wyraźnego końca. Bez paddingu wejście 1-bajtowe i 2-bajtowe mogą dawać Base64 o niejednoznacznej długości, uniemożliwiając dekoderowi ustalenie liczby bajtów.

W praktyce: większość protokołów (Data URL, MIME, JWT, pliki konfiguracyjne) ściśle wymaga paddingu. Niektóre scenariusze (ścieżki URL, nazwy plików, krótkie linki) pomijają padding, by oszczędzić bajty. To narzędzie obsługuje oba kierunki.

Przypadki użycia

  • Napraw błędy dekodowania Base64, takie jak InvalidCharacterError lub 'długość nie jest wielokrotnością 4', przed ponownym dekodowaniem.
  • Oczyść Base64 skopiowany z API, JWT lub logów, który zawiera dodatkowe białe znaki lub brakujący padding.
  • Generuj Data URL-e, których część Base64 ściśle spełnia RFC 4648, tak by przeglądarki i narzędzia stron trzecich dekodowały je spójnie.
  • Szybko waliduj i dopełniaj Base64 dla tokenów JWT, plików konfiguracyjnych i poświadczeń API.
  • Usuwaj padding, by zaoszczędzić bajty, gdy protokół docelowy obsługuje Base64 bez paddingu (ścieżki URL, nazwy plików).
  • Ucz się kodowania Base64, porównując liczbę bajtów wejściowych z wymaganą liczbą =.

Jak Używać

  1. Wklej lub wpisz ciąg Base64, który chcesz przetworzyć (z paddingiem lub bez, ze znakami nowej linii lub bez).
  2. Wybierz tryb: dodaj (dołącz = na końcu) lub usuń (skasuj końcowe =).
  3. Narzędzie oblicza i pokazuje wynik natychmiast, z liczbą znaków i różnicą paddingu wyświetlaną na żywo.
  4. Skopiuj wynik do schowka lub pobierz go jako plik .txt do dalszego użycia.

Funkcje

  • Automatyczne obliczanie paddingu: pokazuje w czasie rzeczywistym wymaganą liczbę = w porównaniu z aktualną.
  • Tryb dodawania: dopełnia dowolny ciąg Base64 do wielokrotności 4, naprawiając błędy długości jednym kliknięciem.
  • Tryb usuwania: usuwa końcowe znaki = dla ścieżek URL, nazw plików i innych scenariuszy wrażliwych na rozmiar.
  • Ignoruje znaki nowej linii i białe znaki: można wkleić Base64 skopiowany z e-maili, JWT lub plików konfiguracyjnych.
  • Licznik znaków na żywo: pokazuje długość wejścia, wyjścia i dokładną liczbę dodanych lub usuniętych znaków =.
  • Kopiowanie i pobieranie jednym kliknięciem: skopiuj wynik do schowka lub zapisz go jako plik .txt.
  • Lokalne przetwarzanie w przeglądarce: każde obliczenie działa w przeglądarce; oryginalne dane nigdy nie opuszczają urządzenia.

Best Practices

Przed dopełnieniem zweryfikuj, że wejście to prawdziwy Base64

To narzędzie tylko dołącza końcowe =; nie czyści nieprawidłowych znaków. Jeśli wejście zawiera spacje, znaki diakrytyzowane lub znaki spoza alfabetu łacińskiego, lub symbole spoza alfabetu Base64, dekodowanie po dodaniu paddingu nadal się nie powiedzie. Najpierw użyj narzędzia do czyszczenia Base64, by usunąć znaki niealfanumeryczne.

Zawsze dopełniaj dla Data URL i JWT

Data URL (RFC 2397) i JWT (RFC 7519) ściśle wymagają paddingu. Pominięcie = w większości implementacji powoduje błędy dekodowania lub niespójne wyniki. Zawsze używaj tego narzędzia, by dopełnić do wielokrotności 4 przed wysłaniem.

Base64 bezpieczny dla URL wymaga czegoś więcej niż usunięcia paddingu

Jeśli chcesz umieścić Base64 w ścieżce URL, nazwie pliku lub krótkim linku, samo usunięcie paddingu nie wystarczy. Musisz także zamienić + na - i / na _ (Base64URL). Bez tej zamiany + i / pozostają niedozwolone w URL.

Dekoder nadal narzeka po usunięciu paddingu

Docelowe narzędzie prawdopodobnie ściśle wymaga paddingu. Przełącz się na tryb dodawania i spróbuj ponownie. Jeśli to nadal się nie powiedzie, samo wejście mogło być uszkodzone przed usunięciem.

Bardzo duże ciągi Base64: preferuj wiersz poleceń

To narzędzie najlepiej sprawdza się w przypadku pojedynczych segmentów Base64. W przypadku dziesiątek megabajtów Base64 preferuj narzędzia wiersza poleceń, takie jak openssl base64 lub narzędzie base64, by uniknąć spowolnień przeglądarki.

Podczas nauki paddingu Base64 zawsze pokazuj tabelę

Padding jest najbardziej mylącą częścią dla nowicjuszy. Podczas wyjaśniania dołącz tabelę 'bajty wejściowe mod 3 → liczba =' (patrz referenceTables na tej stronie). Bez niej uczniowie nie zrozumieją, dlaczego niektóre wejścia potrzebują 1 =, a inne 2.

Często Zadawane Pytania

Do czego służy padding Base64?

Sprawia, że długość wyjściowa Base64 jest zawsze wielokrotnością 4, co daje dekoderowi wyraźny koniec. Bez paddingu wejścia 1-bajtowe i 2-bajtowe mogą dawać ciągi Base64 o tej samej długości, uniemożliwiając dekoderowi ustalenie liczby bajtów.

Dlaczego długość Base64 musi być wielokrotnością 4?

Ponieważ Base64 mapuje każde 3 bajty na 4 znaki. Gdy wejście nie jest wielokrotnością 3 bajtów, ostatnia grupa jest dopełniana znakiem =, by osiągnąć 4 znaki. Każdy ciąg Base64, którego długość nie jest wielokrotnością 4, jest nieprawidłowy.

Jak obliczyć liczbę znaków paddingu?

Użyj (4 - bajty_wejścia % 3) % 3 lub spójrz na długość Base64 % 4: reszta 0 oznacza 0 =, 2 oznacza 1 =, 3 oznacza 2 =. To narzędzie wykonuje obliczenia automatycznie.

Czy mogę po prostu usunąć padding?

Tak, ale tylko gdy protokół docelowy obsługuje Base64 bez paddingu. Nazwy plików, ścieżki URL i niektóre implementacje JWT to akceptują; Data URL-e, MIME i większość plików konfiguracyjnych wymagają paddingu. Trybu usuwania tego narzędzia używaj tylko wtedy, gdy potwierdzisz, że cel to akceptuje.

Dekoder mówi 'długość nie jest wielokrotnością 4', co robić?

Przełącz się na tryb dodawania w tym narzędziu, by dołączyć brakujące =. Jeśli błąd nadal występuje, wejście zawiera nieprawidłowe znaki i wymaga wcześniejszego oczyszczenia narzędziem do czyszczenia Base64.

Czy dodanie paddingu zmienia oryginalne bajty?

Nie. Padding tylko dołącza znaki = na końcu. Oryginalne bajty w środku są nienaruszone, więc dekodowanie dopełnionego ciągu zwraca dokładnie tę samą sekwencję bajtów.

Czy obsługuje Base64 ze znakami nowej linii lub spacji?

Tak. Narzędzie usuwa znaki nowej linii, powrotu karetki i spacje przed obliczeniem paddingu. Wieloliniowy Base64 z załączników e-mail, wyjścia JWT lub plików konfiguracyjnych można wkleić bezpośrednio.

Czy padding to to samo co Base64URL?

Nie. Padding to kwestia końcowego znaku =; Base64URL to kwestia zestawu znaków (zastąpienie + przez - i / przez _). To narzędzie obsługuje tylko padding. Do konwersji URL-safe użyj dedykowanego narzędzia Base64URL.

Czy moje dane wejściowe są wysyłane na serwer?

Nie. Każde obliczenie paddingu działa lokalnie w przeglądarce. Oryginalny ciąg Base64 nigdy nie opuszcza urządzenia, więc możesz bezpiecznie przetwarzać poświadczenia i tokeny.

Rozwiązywanie problemów

Dekoder mówi 'długość nie jest wielokrotnością 4'

Użyj trybu dodawania w tym narzędziu, by dołączyć brakujące = i spróbuj ponownie zdekodować. Jeśli błąd nadal występuje, wejście zawiera nieprawidłowe znaki; najpierw przepuść je przez narzędzie do czyszczenia Base64.

Wejście może zawierać nieprawidłowe znaki

Standardowy Base64 zawiera tylko A-Z, a-z, 0-9, +, /, =. Każdy inny znak (znaki diakrytyzowane, znaki spoza alfabetu łacińskiego, symbole spoza alfabetu) jest nielegalny. To narzędzie automatycznie usuwa białe znaki, ale inne nieprawidłowe znaki wymagają oddzielnego kroku oczyszczania Base64.

URL nadal zawodzi po usunięciu paddingu

URL może nadal zawierać znaki wymagające kodowania URL (?, &, =) lub nadal zawierać + i / z alfabetu Base64. Samo usunięcie paddingu nie czyni Base64 bezpiecznym dla URL; potrzebujesz także konwersji Base64URL lub kodowania URL.

Brak wyniku po wklejeniu

Wejście może składać się wyłącznie z białych znaków (nowe linie, spacje, tabulatory). Narzędzie ignoruje białe znaki przy obliczaniu paddingu, ale całkowicie puste wejście nie generuje wyniku. Wklej co najmniej jeden znak Base64.

Słownik

Znak paddingu =
Końcowy znak zdefiniowany w RFC 4648 wskazujący brakujące bajty w ostatniej grupie Base64. Poprawny padding pojawia się tylko na końcu ciągu.
Wielokrotność 4
RFC 4648 wymaga, by długość wyjściowa Base64 była wielokrotnością 4; w przeciwnym razie kodowanie jest nieprawidłowe. Ścisłe dekodery zgłaszają błąd natychmiast.
Formuła paddingu
Wymagana liczba = = (4 - bajty_wejścia % 3) % 3. Równoważnie, długość Base64 % 4: reszta 0 oznacza 0 =, 2 oznacza 1 =, 3 oznacza 2 =.
Base64 bez paddingu
Wariant Base64 pomijający końcowe =. Pospolity w ścieżkach URL i nazwach plików, ale technicznie niezgodny z RFC 4648 i może zawodzić w ścisłych dekoderach.
Zestaw znaków Base64
A-Z, a-z, 0-9, +, / (64 znaki) plus = jako padding. Każdy inny znak jest nieprawidłowy i wymaga wcześniejszego oczyszczenia narzędziem do czyszczenia Base64.

Reguły paddingu Base64 w skrócie

Mapowanie między liczbą bajtów wejściowych a wymaganą liczbą końcowych znaków =.

Bajty wejściowemod 3Długość Base64= paddingPrzykład (wejście → wyjście)
3n04n0ABC → QUJD
3n+114n+22AB → QUI=
3n+224n+31A → QQ==

Typowe protokoły i wymagania dotyczące paddingu

Różne protokoły traktują padding = inaczej. Usunięcie go tam, gdzie jest wymagany, powoduje błędy dekodowania.

ScenariuszWymagany paddingTypowe użycie
Data URL (RFC 2397)Zalecany (kompatybilność)HTML / CSS / obrazy wbudowane
JWT (RFC 7519)Wymagany (ścisły)OAuth / tokeny API
MIME (RFC 2045)WymaganyKodowanie załączników e-mail
Ścieżka URL / nazwa plikuOpcjonalny (często usuwany)Krótkie linki / klucze cache
Pliki konfiguracyjne (YAML / JSON)WymaganyPoświadczenia, podpisane wartości

Authoritative References