Base64 pildi dekodeerija | Dekodeeri ja eelvaata pilte veebis
Tasuta veebitööriist base64 pildi dekodeerimiseks. Koheselt dekodeeri ja eelvaata base64 stringi JPEG, PNG, GIF, WebP või SVG piltidena. Töötab andme URL-idega ja toorandmetega.
Base64 pildi dekodeerija ja vaataja
Kleepige base64-kodeeritud pildi string ja dekodeerige seda pildi vaatamiseks.
Pildi eelvaade
Pilti pole kuvamiseks. Kleepige base64 string selle automaatseks dekodeerimiseks.
Toetab JPEG, PNG, GIF ja teisi levinud pildivorminguid.
Juhised
1. Kleepige base64-kodeeritud pildi string ülalolevasse tekstivälja.
2. Pilt dekodeeritakse automaatselt sisestamise ajal või vajutage 'Dekodeeri pilt' nuppu.
3. Dekodeeritud pilt ilmub allpool olevasse eelvaate alasse.
Märkus: String peaks algama kujul 'data:image/' parimate tulemuste saamiseks, kuid tööriist püüab dekodeerida ka ilma selle eesliiteta stringid.
Dokumentatsioon
Mis on base64-piltide dekooder?
Base64-piltide dekooder on tööriist, mis muudab base64-vormingus kodeeritud tekstijada tagasi pildiks. Base64 on viis kirjutada binaarandmeid, näiteks pildifaili baite, ainult 64 lihtteksti märgi abil (tähed, numbrid, +, / ja polsterdamiseks =). Brauserid, e-kirjad ja paljud API-d talletavad pilte sel viisil, et pilt saaks liikuda lihtteksti sees eraldi failina saatmise asemel. Dekooder pöörab selle protsessi ümber: sisesta jada ja algne pilt kuvatakse.
Data-URL-i vorming
Veebis kirjutatakse base64-pilt tavaliselt data-URL-ina. Muster on järgmine:
1data:[<media type>];base64,<data>
2Näiteks:
1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2Igal osal on oma ülesanne:
data:märgib selle data-URL-ina, mitte tavalise veebiaadressina.image/pngon MIME-tüüp, mis ütleb brauserile, mis liiki failiga on tegu.;base64näitab, et komale järgnev data on base64-vormingus kodeeritud.- Kõik pärast koma on kodeeritud pilt ise.
Kuidas dekooder töötab
Dekodeerimine toimub nelja sammuna.
- Tööriist kontrollib, kas jada algab märgiga
data:. Data-URL, mis määrab muu meediatüübi kui pildi, näiteksdata:text/plain, lükatakse kohe tagasi, sest seda ei saa pildina kuvada. - Sellest eemaldatakse tühikud, tabeldusmärgid ja reavahetused, sest pikki base64-jadasid murtakse vahel mitmele reale. Kande, milles kasutatakse base64 asemel protsendikodeeringut, mida lubab ka RFC 2397, edastatakse muutmata kujul.
- See dekodeerib base64-teksti tagasi töötlemata baitideks.
- See vaatab tulemuse esimesi baite. Iga levinud pildivorming algab kindla baidijadaga, mida nimetatakse signatuuriks ehk võlunumbriks. PNG-failid algavad jadaga
89 50 4E 47, JPEG-failid jadagaFF D8 FFjne. Dekooder võrdleb neid signatuure ja määrab pildile nende tuvastatud tüübi.
Baidid on määravad, mitte märgis. Kui data-URL ütleb data:image/png, kuid baidid algavad jadaga FF D8 FF, loob dekooder URL-i kujul data:image/jpeg, nii et nupu „Kopeeri pildi URL” pakutav jada ei kirjelda kunagi oma sisu valesti.
Kui jadal puudub eesliide data:, käsitleb dekooder seda töötlemata base64-andmetena, dekodeerib selle ja loeb signatuuri samal viisil. Kui baidid ei vasta ühelegi tuntud pildisignatuurile ega näi olevat SVG-tekst, teatab dekooder, et jada ei paista olevat pilt. See ei paku vormingut oletades ega kasuta vaikimisi muud tüüpi.
SVG-d käsitletakse teisiti, sest SVG on binaarandmete asemel tekstivorming (XML) ja sellel puudub kindel baid signatuur. Dekooder kontrollib dekodeeritud teksti esimest 1024 baiti, otsides silti <svg, XML-deklaratsiooni, näiteks <?xml version="1.0"?>, millele järgneb selline silt, või SVG dokumenditüübi deklaratsiooni, millele järgneb see silt. Kohe alguses olevat baitide järjekorra markerit, mille mõned redaktorid UTF-8-failidele lisavad, eiratakse. Kuna SVG-d ei saa baidise signatuuri järgi tuvastada, jääb image/svg+xml-tüüpi deklareeriv data-URL enda määratud tüübi juurde.
Base64-pildi suuruse valem
Base64 muudab iga 3 baiti binaarandmeid 4 tekstimärgiks. Kodeeritud pikkuse valem on järgmine:
1encoded_characters = 4 × ⌈original_bytes ÷ 3⌉
2Sümbolid ⌈ ⌉ tähendavad „ümarda järgmise täisarvuni üles”, sest base64 töötab alati 4 märgi kaupa ja täidab järelejäänud rühma märkidega =.
Suurte failide korral tähendab see ligikaudu 33% suuruse suurenemist, sest 4 ÷ 3 ≈ 1,33. Väikeste failide puhul võib protsentuaalne kasv olla suurem, sest järgmise 4-märgise rühmani üles ümardamine mõjutab tulemust rohkem, kui andmeid on alguses vähe.
Näidisarvutus
Eespool toodud PNG-näide dekodeerub 85 baidiks pildiandmeteks. Valemi kasutamisel:
14 × ⌈85 ÷ 3⌉ = 4 × 29 = 116
2Base64-jada on tõepoolest 116 märki pikk, mis langeb kokku. See on algse 85 baidiga võrreldes 36% suurune kasv (116 ÷ 85 ≈ 1,36), veidi üle 33% näitaja, sest fail on nii väike.
Toetatud pildivormingud
Dekooder loeb dekodeeritud andmete baidise signatuuri, et vorming tuvastada. See tunneb ära järgmised tüübid:
| Vorming | MIME-tüüp | Kontrollitav signatuur |
|---|---|---|
| PNG | image/png | 89 50 4E 47 0D 0A 1A 0A |
| JPEG | image/jpeg | FF D8 FF |
| GIF | image/gif | GIF87a või GIF89a |
| WebP | image/webp | RIFF, neli eiratavat baiti, seejärel WEBPVP |
| BMP | image/bmp | BM |
| ICO / CUR | image/x-icon | 00 00 01 00 või 00 00 02 00 |
| SVG | image/svg+xml | Signatuur puudub; tuvastatakse tekstina, mis sisaldab silti <svg |
Kuidas base64-pilti dekodeerida
- Kopeeri HTML-ist, CSS-ist, API vastusest või e-kirjast base64-jada koos eesliitega
data:image/...või ilma selleta. - Kleebi see sisestuskasti.
- Pilt dekodeeritakse automaatselt veidi pärast tippimise lõpetamist või dekodeerimisnupu vajutamisel.
- Dekodeeritud pilt kuvatakse eelvaatealal. Selle data-URL-i saab kopeerida nupuga „Kopeeri pildi URL” ning pildi enda saab salvestada, tehes eelvaates sellel paremklõpsu ja valides pildi salvestamise, sest brauser kuvab seda tavalise pildielemendina.
Base64-piltide levinud kasutusalad
- HTML-i, CSS-i või JavaScripti manustamine: pildiandmete otse koodi paigutamine väldib eraldi failipäringut.
- E-kirjade mallid: mõned e-posti kliendid blokeerivad väliselt lingitud pildid vaikimisi, kuid manustatud base64-pilt kuvatakse siiski.
- Ühe failiga HTML-tööriistad: terve leht koos piltidega saab olla ühe iseseisva failina.
- API vastused: pilt saab liikuda JSON-andmekogumi sees, ilma eraldi lõpp-punktita.
- CSS-i taustad ja ikoonid: väikesed ikoonid kirjutatakse vahel otse laadistikku data-URL-ina.
Base64-piltide kompromissid
Base64-kodeering on mugav, kuid sellega kaasnevad kulud:
- Kodeeritud tekst on algsest failist ligikaudu kolmandiku võrra suurem.
- Brauserid ei saa manustatud pilti vahemällu salvestada samal viisil nagu lingitud faili, mistõttu laaditakse see uuesti iga kord, kui seda sisaldav leht või laadistik laaditakse.
- Brauser peab enne pildi kuvamist base64-teksti dekodeerima, mis nõuab veidi täiendavat töötlust.
- Suurenenud mahu ja vahemällu salvestamise puudumise tõttu sobib base64-manustamine väikestele piltidele, näiteks ikoonidele ja lihtsatele logodele. Suuri fotosid on tavaliselt parem esitada tavaliste pildifailidena.
Korduma kippuvad küsimused
Mis on base64-piltide dekooder?
See on tööriist, mis muudab base64-vormingus kodeeritud tekstijada tagasi vaadatavaks pildiks, näiteks PNG-, JPEG-, GIF-, WebP-, BMP- või SVG-failiks.
Kuidas base64-pilti dekodeerida?
Kleebi base64-jada koos eesliitega data:image/... või ilma selleta dekoodrisse. See loeb jada, dekodeerib selle ja kuvab saadud pildi.
Kas base64-jada saab dekodeerida ilma data-URL-i eesliiteta?
Jah. Dekooder käsitleb seda töötlemata base64-andmetena, dekodeerib baidid ja loeb esimesi baite, et tuvastada vorming signatuuri järgi, näiteks PNG, JPEG, GIF, WebP, BMP või ICO. SVG tuvastatakse dekodeeritud tekstist sildi <svg otsimisega. Kui ükski neist ei sobi, teatab dekooder vormingu oletamise asemel, et jada ei paista olevat pilt.
Miks minu base64-pilti ei dekodeerita?
Enamiku juhtude põhjuseks on üks kolmest asjaolust. Jada võib sisaldada standardse base64-tähestiku väliseid märke, milleks on A–Z, a–z, 0–9, +, / ja =; mõnes veebitokenis kasutatav base64url-variant kirjutab nende asemel - ja _ ning seda ei aktsepteerita. Jada võidi poole pealt ära lõigata, mistõttu selle pikkus on neli jagades jäägiga üks, mida ühelgi kehtival base64-jadal ei esine. Või ei kuulu baidid lihtsalt toetatud pildivormingute hulka. Puuduv täide = ei ole iseenesest probleem ning tühikud ja reavahetused eemaldatakse enne dekodeerimist.
Kas base64-kodeering on turbe- või krüpteerimisviis?
Ei. Base64 on ainult viis baitide tekstina esitamiseks; see ei varja midagi. Igaüks saab base64-jada tasuta tööriista abil mõne sekundiga dekodeerida, seega ei tohi seda kasutada privaatsete piltide ega muude andmete kaitsmiseks.
Kui palju on base64-jada algsest pildist suurem?
Suuremate failide puhul umbes kolmandiku võrra, sest algandmete iga 3 baiti muutub 4 tekstimärgiks. 100 KB suurune pilt muutub kodeerimisel ligikaudu 133 KB suuruseks. Väikeste piltide puhul võib protsentuaalne kasv ümardamise tõttu olla mõnevõrra suurem.
Ajalugu
Base64 arenes välja kodeerimisskeemidest, mis töötati välja 1970. ja 1980. aastatel binaarandmete saatmiseks postisüsteemide kaudu, mis käsitlesid ainult lihtteksti; e-posti jaoks vormistati see RFC-ga 989 (1987) ja hiljem RFC-ga 1421. Piltide veebilehtedele manustamine sai võimalikuks pärast data:-URL-i skeemi määratlemist RFC-s 2397 (1998) ning see muutus 2000. aastate keskpaigas levinumaks, kui arendajad otsisid võimalusi eraldi HTTP-päringute vähendamiseks, eriti aeglastes mobiiliühendustes.