Preskoči na sadržaj

Base64 Dekoder Slika | Dekodiranje i Pregled Slika Online

Besplatni online alat za dekodiranje base64 slika. Trenutno dekodiranje i pregled base64 nizova kao JPEG, PNG, GIF, WebP ili SVG slika. Radi s data URL-ovima i izvornim base64 nizovima.

Base64 Dekoder i Preglednik Slika

Zalijepite base64-kodirani string slike i dekodiraje ga za prikaz slike.

Pregled Slike

Nema slike za prikaz. Zalijepite base64 string za automatsko dekodiranje.

Podržava JPEG, PNG, GIF i druge uobičajene formate slika.

Upute

1. Zalijepite base64-kodirani string slike u tekstno polje iznad.

2. Slika će se automatski dekodirati dok tipkate ili kliknite gumb 'Dekodiraj Sliku'.

3. Dekodirana slika pojavit će se u pregledu ispod.

Napomena: String bi trebao početi sa 'data:image/' za najbolje rezultate, ali alat će pokušati dekodirati i stringove bez ovog prefiksa.

Kalkulator učitavanja...
📚

Dokumentacija

Što je dekoder slika kodiranih u formatu base64?

Dekoder slika u formatu base64 alat je koji tekstualni niz kodiran u base64 pretvara natrag u sliku. Base64 je način zapisivanja binarnih podataka, kao što su bajtovi slikovne datoteke, uz upotrebu samo 64 običnih tekstualnih znakova (slova, znamenke, +, / i = za dopunjavanje). Preglednici, poruke e-pošte i mnogi API-ji pohranjuju slike na taj način kako bi slika mogla putovati unutar običnog teksta umjesto kao zasebna datoteka. Dekoder obrće taj postupak: umetnite niz i pojavit će se izvorna slika.

Format podatkovnog URL-a

Na webu se slika u formatu base64 obično zapisuje kao podatkovni URL. Obrazac je:

1data:[<media type>];base64,<data>
2

Na primjer:

1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2

Svaki dio ima svoju ulogu:

  • data: označava da je riječ o podatkovnom URL-u, a ne o uobičajenoj web-adresi.
  • image/png je MIME vrsta koja pregledniku govori o kakvoj je vrsti datoteke riječ.
  • ;base64 označava da su podaci nakon zareza kodirani u base64.
  • Sve nakon zareza sama je kodirana slika.

Kako dekoder radi

Dekodiranje se odvija u četiri koraka.

  1. Alat provjerava počinje li niz s data:. Podatkovni URL koji navodi medijsku vrstu koja nije slika, kao što je data:text/plain, odmah se odbija jer se nikada ne može prikazati kao slika.
  2. Uklanjaju se razmaci, tabulatori i prijelomi redaka jer se dugi nizovi base64 ponekad prelamaju u više redaka. Sadržaj koji umjesto base64 upotrebljava kodiranje u postocima, što također dopušta RFC 2397, prosljeđuje se bez izmjena.
  3. Tekst base64 dekodira se natrag u neobrađene bajtove.
  4. Provjerava se prvih nekoliko bajtova rezultata. Svaki uobičajeni format slike počinje fiksnim slijedom bajtova, poznatim kao potpis ili „magični broj”. PNG datoteke počinju s 89 50 4E 47, JPEG datoteke s FF D8 FF i tako dalje. Dekoder uspoređuje te potpise i slici dodjeljuje vrstu koju oni određuju.

Bajtovi imaju prednost pred oznakom. Ako podatkovni URL navodi data:image/png, ali bajtovi počinju s FF D8 FF, dekoder ponovno sastavlja URL kao data:image/jpeg, pa niz koji nudi gumb „Kopiraj URL slike” nikada pogrešno ne opisuje vlastiti sadržaj.

Ako niz nema prefiks data:, dekoder ga tretira kao neobrađene podatke base64, dekodira ga i na isti način očitava potpis. Ako se bajtovi ne podudaraju ni s jednim poznatim potpisom slike i ne izgledaju kao SVG tekst, dekoder javlja da niz vjerojatno nije slika. Ne nagađa format niti se vraća na zadanu vrstu.

SVG se obrađuje drukčije jer je SVG tekstualni format (XML), a ne binarni format, pa nema fiksni potpis bajtova. Dekoder u prvih 1024 bajtova dekodiranog teksta traži oznaku <svg, XML deklaraciju poput <?xml version="1.0"?> nakon koje slijedi navedena oznaka ili deklaraciju vrste SVG dokumenta nakon koje slijedi navedena oznaka. Oznaka redoslijeda bajtova na samom početku, koju neki uređivači dodaju datotekama UTF-8, zanemaruje se. Budući da se SVG ne može prepoznati iz potpisa bajtova, podatkovni URL koji navodi image/svg+xml zadržava navedenu vrstu.

Formula za izračun veličine slike u formatu base64

Base64 pretvara svaka 3 bajta binarnih podataka u 4 tekstualna znaka. Formula za duljinu kodiranog sadržaja glasi:

1encoded_characters = 4 × ⌈original_bytes ÷ 3⌉
2

Simboli ⌈ ⌉ znače „zaokruži naviše na sljedeći cijeli broj” jer base64 uvijek radi u skupinama od 4 znakova i preostalu skupinu dopunjava znakovima =.

Za velike datoteke to znači približno 33 % povećanje veličine jer je 4 ÷ 3 ≈ 1,33. Kod malih datoteka postotno povećanje može biti veće jer zaokruživanje naviše na sljedeću skupinu od 4 znakova ima veći učinak kada na početku nema mnogo podataka.

Primjer s rješenjem

Gornji primjer PNG-a dekodira se u 85 bajtova slikovnih podataka. Primjenom formule:

14 × ⌈85 ÷ 3⌉ = 4 × 29 = 116
2

Niz base64 doista ima 116 znakova, što se podudara. To je povećanje od 36 % u odnosu na izvornih 85 bajtova (116 ÷ 85 ≈ 1,36), nešto više od vrijednosti 33 % jer je datoteka tako mala.

Podržani formati slika

Dekoder očitava potpis bajtova dekodiranih podataka kako bi odredio format. Prepoznaje ove vrste:

FormatMIME vrstaProvjereni potpis
PNGimage/png89 50 4E 47 0D 0A 1A 0A
JPEGimage/jpegFF D8 FF
GIFimage/gifGIF87a ili GIF89a
WebPimage/webpRIFF, četiri zanemarena bajta, zatim WEBPVP
BMPimage/bmpBM
ICO / CURimage/x-icon00 00 01 00 ili 00 00 02 00
SVGimage/svg+xmlNema potpisa; prepoznaje se kao tekst koji sadržava oznaku <svg

Kako dekodirati sliku u formatu base64

  1. Kopirajte niz base64, s prefiksom data:image/... ili bez njega, iz HTML-a, CSS-a, odgovora API-ja ili poruke e-pošte.
  2. Zalijepite ga u polje za unos.
  3. Slika se automatski dekodira trenutak nakon što prestane tipkanje ili pritiskom na gumb za dekodiranje.
  4. Dekodirana slika pojavljuje se u području pretpregleda. Njezin podatkovni URL može se kopirati gumbom „Kopiraj URL slike”, a samu sliku moguće je spremiti desnim klikom na nju u pretpregledu i odabirom spremanja slike jer se u pregledniku prikazuje kao uobičajeni element slike.

Uobičajene primjene slika u formatu base64

  • Umetanje u HTML, CSS ili JavaScript: izravno postavljanje slikovnih podataka u kôd izbjegava zaseban zahtjev za datotekom.
  • Predlošci poruka e-pošte: neki klijenti e-pošte prema zadanim postavkama blokiraju slike povezane izvana, ali ugrađena slika u formatu base64 i dalje se prikazuje.
  • HTML alati u jednoj datoteci: cijela se stranica, uključujući slike, može isporučiti kao jedna samostalna datoteka.
  • Odgovori API-ja: slika može putovati unutar sadržaja JSON-a umjesto da zahtijeva vlastitu krajnju točku.
  • Pozadine i ikone u CSS-u: male se ikone ponekad izravno zapisuju u stilsku tablicu kao podatkovni URL.

Prednosti i nedostaci slika u formatu base64

Kodiranje base64 praktično je, ali ima svoju cijenu:

  • Kodirani tekst približno je za trećinu veći od izvorne datoteke.
  • Preglednici ne mogu predmemorirati ugrađenu sliku na isti način kao povezanu datoteku pa se ona ponovno preuzima svaki put kada se učita okolna stranica ili stilska tablica.
  • Preglednik mora dekodirati tekst base64 prije prikaza slike, što zahtijeva malu dodatnu obradu.
  • Zbog povećanja veličine i gubitka predmemoriranja, ugrađivanje u base64 prikladno je za male slike poput ikona i jednostavnih logotipa. Veće fotografije obično je bolje posluživati kao uobičajene slikovne datoteke.

Često postavljana pitanja

Što je dekoder slika u formatu base64?

To je alat koji tekstualni niz kodiran u base64 pretvara natrag u vidljivu sliku, primjerice datoteku PNG, JPEG, GIF, WebP, BMP ili SVG.

Kako dekodirati sliku u formatu base64?

Zalijepite niz base64, s prefiksom data:image/... ili bez njega, u dekoder. On će očitati niz, dekodirati ga i prikazati dobivenu sliku.

Može li se niz base64 dekodirati bez prefiksa podatkovnog URL-a?

Da. Dekoder ga tretira kao neobrađene podatke base64, dekodira bajtove i očitava prvih nekoliko bajtova kako bi iz potpisa prepoznao format, primjerice PNG, JPEG, GIF, WebP, BMP ili ICO. SVG se prepoznaje traženjem oznake <svg u dekodiranom tekstu. Ako se ništa od toga ne podudara, dekoder javlja da niz vjerojatno nije slika umjesto da nagađa format.

Zašto se moja slika u formatu base64 ne može dekodirati?

Većinu slučajeva objašnjavaju tri uzroka. Niz može sadržavati znakove izvan standardne abecede base64, koja obuhvaća A–Z, a–z, 0–9, +, / i =; inačica base64url koja se upotrebljava u nekim web-tokenima umjesto toga zapisuje - i _ te nije prihvaćena. Niz je možda prekinut, pa mu je duljina za jedan veća od višekratnika broja četiri, što nijedan valjani niz base64 nema. Ili bajtovi jednostavno nisu jedan od podržanih formata slika. Sam nedostatak dopune = nije problem, a razmaci i prijelomi redaka uklanjaju se prije dekodiranja.

Je li kodiranje base64 oblik sigurnosti ili šifriranja?

Ne. Base64 je samo način predstavljanja bajtova kao teksta; ništa ne skriva. Svatko može dekodirati niz base64 u nekoliko sekundi besplatnim alatom pa se nikada ne bi trebao upotrebljavati za zaštitu privatnih slika ili drugih podataka.

Koliko je niz base64 veći od izvorne slike?

Kod većih datoteka približno za trećinu jer se svaka 3 bajta izvornih podataka pretvaraju u 4 tekstualna znaka. Slika veličine 100 KB nakon kodiranja postaje približno 133 KB. Kod malih slika postotno povećanje može biti nešto veće zbog zaokruživanja.

Povijest

Base64 se razvio iz shema kodiranja nastalih u 1970-ima i 1980-ima za slanje binarnih podataka kroz poštanske sustave koji su obrađivali samo običan tekst; za e-poštu je formaliziran u RFC-u 989 (1987), a poslije u RFC-u 1421. Njegova upotreba za ugrađivanje slika u web-stranice postala je moguća nakon definiranja sheme URL-ova data: u RFC-u 2397 (1998), a postala je uobičajenija sredinom 2000-ih kada su razvojni programeri tražili načine za smanjenje broja zasebnih HTTP zahtjeva, osobito na sporim mobilnim vezama.

Reference

  1. RFC 4648: Kodiranja podataka Base16, Base32 i Base64
  2. RFC 2397: Shema URL-ova „data”
  3. MDN Web Docs: podatkovni URL-ovi
  4. WHATWG standard za prepoznavanje MIME vrste