Ugrás a tartalomra

Base64 Képdekódoló | Képek Dekódolása és Előnézete Online

Ingyenes online base64 képdekódoló eszköz. Azonnal dekódolja és előnézheti a base64 karakterláncokat JPEG, PNG, GIF, WebP vagy SVG képekként. Működik adatURL-ekkel és nyers base64-gyel.

Base64 képdekódoló és megjelenítő

Illessze be a base64-kódolt képsztringet és dekódolja a kép megtekintéséhez.

Kép előnézet

Nincs megjeleníthető kép. Illesszen be egy base64 sztringet a dekódoláshoz.

Támogatott formátumok: JPEG, PNG, GIF és egyéb gyakori képformátumok.

Útmutató

1. Illesszen be egy base64-kódolt képsztringet a fenti szövegmezőbe.

2. A kép automatikusan dekódolásra kerül gépelés közben, vagy kattintson a 'Kép dekódolása' gombra.

3. A dekódolt kép megjelenik az alábbi előnézeti területen.

Megjegyzés: A sztringnek lehetőleg 'data:image/' előtaggal kell kezdődnie, de az eszköz megkísérli dekódolni az ilyen előtag nélküli sztringeket is.

Betöltési kalkulátor...
📚

Dokumentáció

Mi az a Base64-képdekódoló?

A Base64-képfedekóder olyan eszköz, amely a Base64-kódolású szöveges karakterláncot ismét képpé alakítja. A Base64 a bináris adatok, például egy képfájl bájtjainak írási módja, amelyhez mindössze 64 egyszerű szöveges karaktert használ (betűket, számjegyeket, valamint +, / és kitöltéshez = jelet). A böngészők, az e-mailek és számos API így tárolja a képeket, hogy egy kép külön fájl helyett egyszerű szövegben továbbítható legyen. A dekódoló megfordítja ezt a folyamatot: a karakterlánc beillesztése után megjelenik az eredeti kép.

Az adat-URL formátuma

A weben a Base64-képet általában adat-URL-ként írják le. A minta:

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

Például:

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

Minden résznek megvan a maga feladata:

  • A data: jelzi, hogy ez adat-URL, nem pedig szokásos webcím.
  • Az image/png a MIME-típus, amely megadja a böngészőnek, milyen típusú fájlról van szó.
  • A ;base64 azt jelzi, hogy a vessző utáni adatok Base64-kódolásúak.
  • A vessző után minden maga a kódolt kép.

A dekódoló működése

A dekódolás négy lépésben történik.

  1. Az eszköz ellenőrzi, hogy a karakterlánc a data: előtaggal kezdődik-e. Az olyan adat-URL-t, amely képtől eltérő médiatípust nevez meg, például data:text/plain, azonnal elutasítja, mert képként soha nem jeleníthető meg.
  2. Eltávolítja a szóközöket, tabulátorokat és sortöréseket, mivel a hosszú Base64-karakterláncokat néha több sorba tördelik. A Base64 helyett százalékos kódolást használó, az RFC 2397 által szintén engedélyezett adathalmazt változatlanul továbbítja.
  3. A Base64-szöveget visszaalakítja nyers bájtokká.
  4. Megvizsgálja az eredmény első néhány bájtját. Minden elterjedt képformátum rögzített bájtsorozattal kezdődik, amelyet aláírásnak vagy „mágikus számnak” neveznek. A PNG-fájlok a következővel kezdődnek: 89 50 4E 47, a JPEG-fájlok pedig ezzel: FF D8 FF, és így tovább. A dekódoló összeveti ezeket az aláírásokat, majd a képhez az általuk azonosított típust rendeli.

A bájtok felülírják a címkét. Ha egy adat-URL szerint data:image/png szerepel, de a bájtok a FF D8 FF sorozattal kezdődnek, a dekódoló data:image/jpeg formában építi újjá az URL-t, így a „Kép URL-jének másolása” gomb által felkínált karakterlánc soha nem írja le tévesen a saját tartalmát.

Ha a karakterláncnak nincs data: előtagja, a dekódoló nyers Base64-adatként kezeli, dekódolja, majd ugyanígy beolvassa az aláírást. Ha a bájtok egyetlen ismert képaláírással sem egyeznek meg, és nem hasonlítanak SVG-szövegre, a dekódoló jelzi, hogy a karakterlánc valószínűleg nem kép. Nem találgatja meg a formátumot, és nem vált át alapértelmezett típusra.

Az SVG kezelése eltérő, mert az SVG szöveges formátum (XML), nem bináris, ezért nincs rögzített bájtaláírása. A dekódoló a dekódolt szöveg első 1024 bájtjában keres egy <svg címkét, egy olyan XML-deklarációt, mint a <?xml version="1.0"?>, amelyet egy ilyen címke követ, vagy egy SVG-dokumentumtípus-deklarációt, amelyet szintén egy ilyen címke követ. A legelső helyen álló bájtsorrendi jelet, amelyet egyes szerkesztők az UTF-8 fájlokhoz adnak, figyelmen kívül hagyja. Mivel az SVG nem azonosítható bájtaláírásból, az image/svg+xml típust deklaráló adat-URL megtartja a deklarált típust.

A Base64-kép méretének képlete

A Base64 minden 3 bájt bináris adatot 4 szöveges karakterré alakít. A kódolt hossz képlete:

1encoded_characters = 4 × ⌈original_bytes ÷ 3⌉
2

A ⌈ ⌉ jelek jelentése: „kerekítés felfelé a következő egész számra”, mivel a Base64 mindig 4 karakterből álló csoportokkal dolgozik, és a maradék csoportot = jelekkel tölti ki.

Nagy fájloknál ez nagyjából 33%-os méretnövekedést jelent, mivel 4 ÷ 3 ≈ 1,33. Kis fájloknál a százalékos növekedés nagyobb lehet, mert a következő, 4 karakterből álló csoportra való felfelé kerekítés többet számít, ha eleve kevés adat áll rendelkezésre.

Megoldott példa

A fenti PNG-példa 85 bájt képadatra dekódolódik. A képletet használva:

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

A Base64-karakterlánc valóban 116 karakter hosszú, ami megfelel az eredménynek. Ez az eredeti 85 bájthoz képest 36%-os növekedés (116 ÷ 85 ≈ 1,36), vagyis kissé meghaladja a 33%-os értéket, mert a fájl nagyon kicsi.

Támogatott képformátumok

A dekódoló a dekódolt adatok bájtaláírása alapján azonosítja a formátumot. A következő típusokat ismeri fel:

FormátumMIME-típusEllenőrzött aláírás
PNGimage/png89 50 4E 47 0D 0A 1A 0A
JPEGimage/jpegFF D8 FF
GIFimage/gifGIF87a vagy GIF89a
WebPimage/webpRIFF, négy figyelmen kívül hagyott bájt, majd WEBPVP
BMPimage/bmpBM
ICO / CURimage/x-icon00 00 01 00 vagy 00 00 02 00
SVGimage/svg+xmlNincs aláírása; szövegként ismeri fel, amely egy <svg címkét tartalmaz

Base64-kép dekódolása

  1. Másolja ki a Base64-karakterláncot az data:image/... előtaggal vagy anélkül HTML-ből, CSS-ből, API-válaszból vagy e-mailből.
  2. Illessze be a beviteli mezőbe.
  3. A kép automatikusan dekódolódik egy pillanattal a gépelés befejezése után, illetve a dekódolási gomb megnyomásakor.
  4. A dekódolt kép megjelenik az előnézeti területen. Az adat-URL a „Kép URL-jének másolása” gombbal másolható ki, maga a kép pedig az előnézetben való jobb kattintással és a mentési lehetőség kiválasztásával menthető, mivel a böngészőben normál képelemként jelenik meg.

A Base64-képek gyakori felhasználási módjai

  • Beágyazás HTML-be, CSS-be vagy JavaScriptbe: a képadatok közvetlen kódba helyezése elkerüli a külön fájl lekérését.
  • E-mail-sablonok: egyes levelezőprogramok alapértelmezés szerint blokkolják a külső hivatkozású képeket, a beágyazott Base64-kép azonban továbbra is megjelenik.
  • Egyfájlos HTML-eszközök: egy teljes oldal, a képeivel együtt, egyetlen önálló fájlként továbbítható.
  • API-válaszok: a kép saját végpont nélkül, egy JSON-adatcsomag részeként is továbbítható.
  • CSS-hátterek és ikonok: a kis ikonokat néha közvetlenül stíluslapba írják adat-URL-ként.

A Base64-képek kompromisszumai

A Base64-kódolás kényelmes, de költségekkel jár:

  • A kódolt szöveg nagyjából egyharmaddal nagyobb az eredeti fájlnál.
  • A böngészők a beágyazott képet nem tudják ugyanúgy gyorsítótárazni, mint a hivatkozott fájlt, ezért minden alkalommal újra letöltik, amikor a körülvevő oldal vagy stíluslap betöltődik.
  • A böngészőnek dekódolnia kell a Base64-szöveget, mielőtt megjelenítheti a képet, ami kevés többletfeldolgozást igényel.
  • A méretnövekedés és a gyorsítótárazás hiánya miatt a Base64-beágyazás kis képekhez, például ikonokhoz és egyszerű logókhoz illik. A nagyobb fényképeket általában célszerűbb hagyományos képfájlként kiszolgálni.

Gyakran ismételt kérdések

Mi az a Base64-képfedekóder?

Ez egy olyan eszköz, amely a Base64-kódolású szöveges karakterláncot ismét megjeleníthető képpé, például PNG-, JPEG-, GIF-, WebP-, BMP- vagy SVG-fájllá alakítja.

Hogyan dekódolhatok egy Base64-képet?

Illessze be a Base64-karakterláncot az data:image/... előtaggal vagy anélkül a dekódolóba. Az eszköz beolvassa és dekódolja a karakterláncot, majd megjeleníti az eredményül kapott képet.

Dekódolható-e egy Base64-karakterlánc adat-URL-előtag nélkül?

Igen. A dekódoló nyers Base64-adatként kezeli, dekódolja a bájtokat, majd az első néhány bájt aláírása alapján azonosítja a formátumot, például PNG, JPEG, GIF, WebP, BMP vagy ICO formátumként. Az SVG-t úgy azonosítja, hogy a dekódolt szövegben egy <svg címkét keres. Ha egyik sem egyezik, a dekódoló találgatás helyett jelzi, hogy a karakterlánc valószínűleg nem kép.

Miért nem dekódolódik a Base64-képem?

A legtöbb eset három ok valamelyikére vezethető vissza. A karakterlánc a szabványos Base64-ábécén kívüli karaktereket tartalmazhat, amely a következőkből áll: A–Z, a–z, 0–9, +, / és =; egyes webes tokenekben használt Base64URL-változat ehelyett - és _ jelet használ, és azt a dekódoló nem fogadja el. Előfordulhat, hogy a karakterláncot félbevágták, így a hossza a négy többszörösénél eggyel nagyobb lett, ami érvényes Base64-karakterláncnál soha nem fordul elő. Az is lehet, hogy a bájtok egyszerűen nem a támogatott képformátumok egyikéhez tartoznak. Önmagában a hiányzó = kitöltés nem probléma, a szóközöket és sortöréseket pedig dekódolás előtt eltávolítja.

A Base64-kódolás a biztonság vagy a titkosítás egyik formája?

Nem. A Base64 csupán a bájtok szövegként való ábrázolásának módja; semmit sem rejt el. Bárki másodpercek alatt dekódolhat egy Base64-karakterláncot egy ingyenes eszközzel, ezért soha nem szabad magánképek vagy más adatok védelmére használni.

Mennyivel nagyobb a Base64-karakterlánc az eredeti képnél?

Nagyobb fájloknál körülbelül egyharmaddal, mivel az eredeti adatok minden 3 bájtjából 4 szöveges karakter lesz. Egy 100 KB-os kép kódolás után körülbelül 133 KB méretű lesz. Kis képeknél a kerekítés miatt valamivel nagyobb százalékos növekedés jelentkezhet.

Története

A Base64 az 1970-es és 1980-as években kidolgozott kódolási eljárásokból alakult ki, amelyekkel bináris adatokat lehetett továbbítani kizárólag egyszerű szöveget kezelő levelezőrendszereken keresztül. E-mailhez az RFC 989 (1987), majd később az RFC 1421 szabványosította. A képek weboldalakba való beágyazása azután vált lehetővé, hogy az RFC 2397 (1998) meghatározta a data: URL-sémát, használata pedig a 2000-es évek közepén terjedt el, amikor a fejlesztők a különálló HTTP-kérések számának csökkentésére kerestek megoldásokat, különösen lassú mobilkapcsolatokon.

Hivatkozások

  1. RFC 4648: A Base16, Base32 és Base64 adatkódolásai
  2. RFC 2397: A „data” URL-séma
  3. MDN Web Docs: adat-URL-ek
  4. WHATWG MIME-felismerési szabvány