Obraz na Base64

Przekształć swój obraz na ciąg Base64 za pomocą naszego narzędzia do konwersji obrazu na Base64 dla efektywnego kodowania danych.

5 z 2 ocen
.gif, .png, .jpg, .jpeg, .svg dozwolone. 64 MB maksymalnie.
Obraz na Base64

Obraz na Base64 to bezpłatne narzędzie, które przekształca plik obrazu w ciąg tekstowy zakodowany w Base64.

Czym jest Base64 i do czego służy?

Base64 koduje dane przesłanego obrazu z postaci binarnej do tekstowej, dzięki czemu można je przekazywać przez systemy zaprojektowane głównie do obsługi tekstu. Każde trzy bajty danych źródłowych są przedstawiane jako cztery drukowalne znaki z określonego alfabetu.

Przydaje się to wtedy, gdy dany format nie pozwala przesłać osobnego pliku binarnego. Obraz można umieścić w adresie URL typu data, właściwości JSON lub części MIME wiadomości e-mail bez dołączania jego oryginalnych bajtów w zwykłej postaci binarnej. Wygenerowany ciąg Base64 jest zakodowany, a nie zaszyfrowany. Każdy, kto go uzyska, może go zdekodować, więc Base64 nie zapewnia poufności ani kontroli dostępu.

Działanie Base64 dobrze pokazuje prosty przykład z bajtami tekstowymi.

  • Tekst wejściowy to <svg></svg>
  • Wynik Base64 to PHN2Zz48L3N2Zz4=

Większość obrazów zawiera dane binarne, a nie czytelny kod, dlatego ich dane wejściowe nie będą wyglądały jak w tym przykładzie tekstowym. Zasada pozostaje taka sama w przypadku formatów PNG, JPEG, GIF, WebP i innych formatów obrazów.

Schemat: tekst przechodzi przez narzędzie Obraz na Base64 w obu kierunkach

Jak przekonwertować obraz na Base64?

Prześlij obraz do narzędzia, uruchom konwersję i skopiuj wartość zwróconą w polu Zakodowane w Base64. Narzędzie przetwarza dane obrazu za pomocą funkcji base64_encode języka PHP.

  1. Wybierz obraz, który chcesz przedstawić w postaci tekstowej.
  2. Poczekaj, aż strona przetworzy plik i zwróci zakodowaną wartość.
  3. Skopiuj cały ciąg wraz ze wszystkimi znakami równości na końcu.
  4. Dodaj odpowiednią składnię, jeśli system docelowy oczekuje adresu URL typu data, wartości JSON lub innego kontenera.
Narzędzie Obraz na Base64 w serwisie digily.link wraz z formularzem wprowadzania danych

Przetwarzanie odbywa się na serwerze. Obraz jest przesyłany na serwer przez HTTPS i nie jest przechowywany. Ponieważ konwersja odbywa się po stronie serwera, nie zakładaj, że w jej trakcie plik pozostaje wyłącznie na Twoim urządzeniu.

Jak użyć otrzymanego ciągu Base64?

Użyj ciągu jako surowych danych Base64 albo umieść go w składni wymaganej przez system odbiorczy. Samo Base64 nie określa formatu obrazu, nazwy pliku, wymiarów ani przeznaczenia.

W adresie URL typu data używanym w HTML lub CSS zakodowaną wartość zwykle poprzedza typ multimediów i znacznik Base64. Adres dla pliku PNG zaczyna się od data:image/png;base64,, po czym bezpośrednio następuje zakodowany ciąg. W przypadku JPEG używa się image/jpeg, a w przypadku SVG często image/svg+xml. Wybór niewłaściwego typu multimediów może sprawić, że program nie wyświetli poprawnego obrazu.

W formacie JSON dane Base64 zwykle zapisuje się jako ciąg w cudzysłowie, często obok osobnego pola określającego typ multimediów. Jeśli interfejs API wymaga surowych danych Base64, nie dodawaj prefiksu adresu URL typu data. Przed użyciem wartości zwróconej przez narzędzie przeczytaj dokumentację API, ponieważ tych dwóch rodzajów danych wejściowych nie można stosować zamiennie.

Gdzie w praktyce spotyka się Base64?

Base64 często występuje w miejscach, w których dane binarne trzeba przesłać za pomocą formatu lub protokołu tekstowego. Typowe zastosowania to:

  • Adresy URL typu data osadzone w HTML, CSS lub generowanych dokumentach.
  • Dane JSON wysyłane do interfejsów API, które przyjmują zawartość obrazu we właściwości tekstowej.
  • Wiadomości e-mail, w których MIME może kodować załączniki i obrazy osadzone jako Base64.
  • Ciągi zapytań, choć standardowe znaki Base64 mogą dodatkowo wymagać kodowania URL.
  • Pliki konfiguracyjne i dokumenty XML, które nie mogą bezpośrednio zawierać dowolnych bajtów binarnych.

Internacjonalizowane nazwy domen są innym przykładem przekształcania danych do ograniczonego zestawu znaków, ale używają Punycode zamiast Base64. Wartości umieszczane w adresie URL mogą też wymagać użycia narzędzia Koder URL, ponieważ standardowy ciąg Base64 może zawierać znaki plusa, ukośniki i znaki równości.

Dlaczego dekodowanie Base64 nie działa albo daje niezrozumiały wynik?

Dekodowanie może się nie udać, jeśli dane wejściowe zawierają skopiowany prefiks, są uszkodzone lub ucięte albo nie odpowiadają formatowi Base64 oczekiwanemu przez dekoder. Niezrozumiały wynik często oznacza, że poprawne binarne dane obrazu zostały zdekodowane, a następnie błędnie wyświetlone jako zwykły tekst.

  • Skopiowany prefiks może spowodować błąd, gdy dekoder oczekuje wyłącznie danych Base64. Przed użyciem dekodera surowych danych Base64 usuń tekst taki jak data:image/png;base64,.
  • Uszkodzone lub ucięte dane mogą zostać zdekodowane do niekompletnego obrazu, którego nie da się otworzyć w przeglądarce obrazów.
  • Podwójne kodowanie sprawia, że po pierwszym dekodowaniu otrzymujesz kolejny ciąg Base64. Jeśli źródło zakodowało wcześniej już zakodowaną wartość, konieczne może być ponowne dekodowanie.
  • Niewłaściwy alfabet może wywołać błąd, jeśli dekoder oczekuje innego wariantu. Base64url używa łączników i podkreśleń w miejscach, w których standardowe Base64 stosuje znaki plusa i ukośniki.
  • Brak dopełnienia może mieć znaczenie dla rygorystycznych dekoderów. Standardowy ciąg Base64 może kończyć się jednym lub dwoma znakami równości, choć niektóre systemy celowo je pomijają.

Jeśli zdekodowany wynik ma postać binarną, zapisz go z właściwym typem obrazu, zamiast otwierać w edytorze tekstu. W odwrotnej operacji może pomóc narzędzie Dekoder Base64 lub Base64 na obrazek, o ile ciąg jest kompletny i ma oczekiwany format.

Wybór formatu i nietypowe dane wejściowe

Standardowe Base64 nadaje się do wiadomości e-mail, adresów URL typu data i systemów, które wyraźnie go wymagają. W ścieżkach URL, parametrach zapytania i tokenach używaj wariantu wymaganego przez system odbiorczy. Base64url może być właściwym wyborem, jeśli wymaga go specyfikacja. To narzędzie korzysta ze standardowej operacji base64_encode języka PHP, więc nie zakładaj, że wynik ma format Base64url.

Narzędzie koduje bajty przesłanego obrazu. Spacje, znaki interpunkcyjne, cyfry, znaki diakrytyczne i tekst zapisany alfabetem innym niż łaciński wewnątrz pliku SVG lub metadanych obrazu są kodowane jako część tych bajtów. Nazwa pliku zawierająca takie znaki jest niezależna od jego zawartości i nie jest automatycznie uwzględniana w Base64.

W PHP funkcja base64_encode zwraca pustą wartość dla pustego ciągu bajtów. Duże pliki dają długie ciągi, a Base64 zwiększa liczbę bajtów o około jedną trzecią, jeszcze przed dodaniem otaczającej składni JSON lub adresu URL typu data. Nie kompresuje obrazu, nie poprawia jego jakości ani nie zmienia wymiarów w pikselach.

Najczęściej zadawane pytania

Czy mogę umieścić obraz Base64 bezpośrednio w CSS?

Tak. Właściwości CSS przyjmujące adresy URL obrazów mogą korzystać z prawidłowo utworzonego adresu URL typu data. To rozwiązanie dobrze sprawdza się w przypadku małych, samodzielnych zasobów, ale większe osadzone obrazy zwiększają rozmiar arkusza stylów i nie mogą być przechowywane w pamięci podręcznej niezależnie od pliku CSS.

Skąd biorą się podziały wierszy w ciągu Base64?

To narzędzie zwraca ciąg bez podziałów wierszy, ponieważ funkcja base64_encode języka PHP ich nie wstawia. Jeśli występują, zostały dodane podczas późniejszego kopiowania lub przetwarzania w innym miejscu. Wiele dekoderów ignoruje białe znaki, ale rygorystyczne interfejsy API mogą odrzucić takie dane. Jeśli wymaga tego specyfikacja systemu odbiorczego, użyj ciągu bez podziałów.

Czy zmiana nazwy pliku obrazu zmienia jego wartość Base64?

Base64 reprezentuje bajty pliku, a nie jego nazwę. Zmiana nazwy niezmodyfikowanego pliku nie wpływa więc na zakodowaną wartość. Edycja metadanych, ponowne zapisanie obrazu lub konwersja do innego formatu zmienia jednak bajty i prowadzi do powstania innego ciągu.

Czy Base64 zabezpiecza prywatny obraz?

Nie. Kodowanie Base64 można odwrócić bez hasła ani tajnego klucza. Poufne materiały zabezpieczaj za pomocą odpowiedniego szyfrowania, uwierzytelniania i kontroli dostępu. Pamiętaj też, że narzędzie przesyła obraz przez HTTPS na swój serwer w celu przetworzenia.

Jak sprawdzić, czy konwersja przebiegła prawidłowo?

Zdekoduj cały ciąg i otwórz wynik w przeglądarce obrazów obsługującej oryginalny format. Sprawdź, czy wymiary i widoczna zawartość odpowiadają plikowi źródłowemu. Zachowaj również końcowe znaki dopełnienia, chyba że system docelowy wyraźnie wymaga ich usunięcia.

Podobne narzędzia

Base64 na obrazek

Przekształć dane wejściowe Base64 w obraz za pomocą naszego narzędzia Base64 na obraz, aby szybko i łatwo odzyskać obraz.

4,637
19

Popularne narzędzia