Kodowanie Base64 Online
Zamień dowolny tekst w Base64 — łącznie z emoji i alfabetami niełacińskimi. Włącz Bezpieczny dla URL, gdy wynik ma podróżować wewnątrz adresu URL albo JWT.
Tekst
Base64
O tym narzędziu
Base64 istnieje po to, by przenosić dowolne bajty kanałami przyjmującymi wyłącznie tekst: nagłówkiem HTTP, w data URI, w treści e-maila, w ciągu JSON. Ten koder najpierw zamienia wejście na UTF-8 — i właśnie dlatego tekst niełaciński oraz emoji wracają nienaruszone; własne btoa() przeglądarki odrzuca je bez ceregieli. Przełącznik Bezpieczny dla URL zastępuje + i / znakami - oraz _ i porzuca dopełnienie =, czyli wariant używany przez JWT i parametry adresów.
Jak używać
- 1Wklej albo wpisz po lewej tekst, który chcesz zakodować.
- 2Włącz Bezpieczny dla URL, jeśli wynik trafi do adresu URL, nazwy pliku albo JWT.
- 3Naciśnij Kopiuj — odkodowanie jest o kliknięcie stąd, na stronie Dekodowanie Base64.
Częste pytania
›Dlaczego Base64 powiększa moje dane?
Koduje każde 3 bajty jako 4 znaki drukowalne, więc wyjście jest większe o mniej więcej 33%. To cena za przeprowadzenie danych binarnych kanałem, który przyjmuje wyłącznie tekst.
›Czym jest Base64 bezpieczny dla URL?
Standardowy alfabet używa + i /, które w adresie URL mają własne znaczenie, oraz dopełnienia =, które trzeba chronić. Wariant bezpieczny dla URL zamienia je na - i _ oraz porzuca dopełnienie, dzięki czemu wynik wchodzi bez zmian w ścieżkę albo ciąg zapytania. JWT używają dokładnie tego wariantu.
›Czy radzi sobie z emoji i tekstem niełacińskim?
Tak. Tekst jest najpierw kodowany jako UTF-8, więc cyrylica, chiński i emoji wychodzą bez szwanku. Naiwna jednolinijkowa btoa(tekst) w przeglądarce wyrzuca błąd przy każdym znaku powyżej U+00FF.
›Czy Base64 to szyfrowanie?
Nie, i to ważne. To kodowanie, nie szyfr — każdy odkoduje je natychmiast, bez żadnego klucza. Nigdy nie używaj go do ukrycia hasła ani tokenu.
›Jak zrobić to z wiersza poleceń?
W macOS i Linuksie: printf %s "tekst" | base64. Do dekodowania dodaj flagę -d. PowerShell w Windows wymaga [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("tekst")).