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.
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>
2Például:
1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2Minden résznek megvan a maga feladata:
- A
data:jelzi, hogy ez adat-URL, nem pedig szokásos webcím. - Az
image/pnga MIME-típus, amely megadja a böngészőnek, milyen típusú fájlról van szó. - A
;base64azt 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.
- 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áuldata:text/plain, azonnal elutasítja, mert képként soha nem jeleníthető meg. - 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.
- A Base64-szöveget visszaalakítja nyers bájtokká.
- 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⌉
2A ⌈ ⌉ 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
2A 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átum | MIME-típus | Ellenőrzött aláírás |
|---|---|---|
| PNG | image/png | 89 50 4E 47 0D 0A 1A 0A |
| JPEG | image/jpeg | FF D8 FF |
| GIF | image/gif | GIF87a vagy GIF89a |
| WebP | image/webp | RIFF, négy figyelmen kívül hagyott bájt, majd WEBPVP |
| BMP | image/bmp | BM |
| ICO / CUR | image/x-icon | 00 00 01 00 vagy 00 00 02 00 |
| SVG | image/svg+xml | Nincs aláírása; szövegként ismeri fel, amely egy <svg címkét tartalmaz |
Base64-kép dekódolása
- 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. - Illessze be a beviteli mezőbe.
- 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.
- 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.