Decodor Base64 pentru Imagini | Decodare și Previzualizare Imagini Online
Instrument online gratuit de decodare base64 pentru imagini. Decodează și previzualizează instant șiruri base64 ca imagini JPEG, PNG, GIF, WebP sau SVG. Funcționează cu URL-uri de date și base64 brut.
Decodor și Vizualizator de Imagini Base64
Inserați un șir de caractere base64 pentru imagine și decodați-l pentru a vizualiza imaginea.
Previzualizare Imagine
Nicio imagine de afișat. Inserați un șir base64 pentru a-l vedea decodat automat.
Acceptă formatele JPEG, PNG, GIF și alte formate de imagine comune.
Instrucțiuni
1. Inserați un șir de imagine base64 în zona de text de mai sus.
2. Imaginea va fi decodată automat în timp ce tastați sau faceți clic pe butonul 'Decodează Imaginea'.
3. Imaginea decodată va apărea în zona de previzualizare de mai jos.
Notă: Șirul ar trebui să înceapă cu 'data:image/' pentru cele mai bune rezultate, dar instrumentul va încerca să decodeze și șiruri fără acest prefix.
Documentație
Ce este un decodor de imagini base64?
Un decodor de imagini base64 este un instrument care transformă un șir de text codificat în base64 înapoi într-o imagine. Base64 este un mod de a scrie date binare, cum ar fi octeții unui fișier imagine, folosind numai 64 caractere de text simplu (litere, cifre, +, / și = pentru completare). Browserele, e-mailurile și multe API-uri stochează imaginile astfel, pentru ca o imagine să poată fi transmisă în interiorul unui text simplu, nu ca fișier separat. Decodorul inversează procesul: introduceți șirul, iar imaginea originală apare.
Formatul URL-ului de date
Pe web, un fișier în base64 este de obicei scris ca URL de date. Modelul este:
1data:[<media type>];base64,<data>
2De exemplu:
1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2Fiecare parte are un rol:
data:indică faptul că este un URL de date, nu o adresă web obișnuită.image/pngeste tipul MIME, care îi spune browserului ce fel de fișier este.;base64indică faptul că datele de după virgulă sunt codificate în base64.- Tot ce urmează după virgulă este reprezentarea codificată propriu-zisă.
Cum funcționează decodorul
Decodificarea are loc în patru pași.
- Instrumentul verifică dacă șirul începe cu
data:. Un URL de date care indică un tip media diferit de o reprezentare vizuală, cum ar fidata:text/plain, este respins imediat, deoarece nu poate fi afișat ca reprezentare vizuală. - Elimină spațiile, taburile și întreruperile de linie, deoarece șirurile base64 lungi sunt uneori împărțite pe mai multe linii. Un conținut care folosește codificarea procentuală în loc de base64, permisă și de RFC 2397, este transmis neschimbat.
- Decodează textul base64 înapoi în octeți bruti.
- Examinează primii octeți ai rezultatului. Fiecare format de imagine obișnuit începe cu o secvență fixă de octeți, numită semnătură sau „număr magic”. Fișierele PNG încep cu
89 50 4E 47, fișierele JPEG încep cuFF D8 FFși așa mai departe. Decodorul compară aceste semnături și atribuie fișierului tipul pe care îl identifică.
Octeții au prioritate față de etichetă. Dacă un URL de date indică data:image/png, dar octeții încep cu FF D8 FF, decodorul reconstruiește URL-ul ca data:image/jpeg, astfel încât șirul oferit de butonul „Copiază URL-ul imaginii” să nu descrie greșit propriul conținut.
Dacă șirul nu are prefixul data:, decodorul îl tratează ca date base64 brute, îl decodează și citește semnătura în același mod. Dacă octeții nu corespund niciunei semnături grafice cunoscute și nu seamănă cu text SVG, decodorul indică faptul că șirul nu pare să fie un fișier grafic. Nu presupune un format și nu folosește un tip implicit.
SVG este tratat diferit, deoarece este un format text (XML), nu binar, și nu are o semnătură fixă de octeți. Decodorul verifică primii 1024 octeți ai textului decodificat pentru a găsi o etichetă <svg, o declarație XML precum <?xml version="1.0"?> urmată de aceasta sau o declarație de tip de document SVG urmată de aceasta. Un marcaj de ordine al octeților de la început, adăugat de unele editoare fișierelor UTF-8, este ignorat. Deoarece SVG nu poate fi identificat printr-o semnătură de octeți, un URL de date care declară image/svg+xml păstrează tipul declarat.
Formula pentru dimensiunea imaginilor base64
Base64 transformă fiecare 3 octeți de date binare în 4 caractere de text. Formula pentru lungimea codificată este:
1encoded_characters = 4 × ⌈original_bytes ÷ 3⌉
2Simbolurile ⌈ ⌉ înseamnă „rotunjire în sus la următorul număr întreg”, deoarece base64 funcționează întotdeauna în grupuri de 4 caractere și completează un grup rămas cu semne =.
Pentru fișiere mari, aceasta înseamnă aproximativ o creștere de 33 % a dimensiunii, deoarece 4 ÷ 3 ≈ 1,33. Fișierele mici pot prezenta o creștere procentuală mai mare, deoarece rotunjirea la următorul grup de 4 caractere contează mai mult atunci când datele inițiale sunt puține.
Exemplu rezolvat
Exemplul PNG de mai sus conține, după decodare, 85 octeți de date de imagine. Folosind formula:
14 × ⌈85 ÷ 3⌉ = 4 × 29 = 116
2Șirul base64 are într-adevăr 116 caractere, ceea ce corespunde. Aceasta reprezintă o creștere de 36 % față de cei 85 octeți inițiali (116 ÷ 85 ≈ 1,36), puțin peste valoarea de 33 % deoarece fișierul este foarte mic.
Formate de imagine acceptate
Decodorul citește semnătura în octeți a datelor decodificate pentru a identifica formatul. Recunoaște următoarele tipuri:
| Format | Tip MIME | Semnătura verificată |
|---|---|---|
| PNG | image/png | 89 50 4E 47 0D 0A 1A 0A |
| JPEG | image/jpeg | FF D8 FF |
| GIF | image/gif | GIF87a sau GIF89a |
| WebP | image/webp | RIFF, patru octeți ignorați, apoi WEBPVP |
| BMP | image/bmp | BM |
| ICO / CUR | image/x-icon | 00 00 01 00 sau 00 00 02 00 |
| SVG | image/svg+xml | Fără semnătură; este detectat ca text care conține o etichetă <svg |
Cum se decodează o imagine base64
- Copiați șirul base64, cu sau fără prefixul
data:image/..., din HTML, CSS, un răspuns API sau un e-mail. - Introduceți-l în caseta de intrare.
- Imaginea este decodificată automat la scurt timp după ce opriți tastarea sau prin apăsarea butonului de decodificare.
- Imaginea decodificată apare în zona de previzualizare. URL-ul său de date poate fi copiat cu butonul „Copiază URL-ul imaginii”, iar imaginea poate fi salvată făcând clic dreapta pe ea în previzualizare și alegând salvarea imaginii, deoarece este afișată în browser ca un element de imagine obișnuit.
Utilizări obișnuite ale imaginilor base64
- Încorporarea în HTML, CSS sau JavaScript: introducerea directă a datelor imaginii în cod evită o solicitare separată pentru fișier.
- Șabloane de e-mail: unele programe de e-mail blochează implicit imaginile încărcate de pe servere externe, dar o imagine base64 încorporată este afișată în continuare.
- Instrumente HTML într-un singur fișier: o pagină întreagă, inclusiv imaginile sale, poate fi livrată ca un singur fișier autonom.
- Răspunsuri API: o imagine poate fi transmisă în interiorul unui conținut JSON, fără să aibă nevoie de propriul endpoint.
- Fundaluri și pictograme CSS: pictogramele mici sunt uneori scrise direct într-o foaie de stil ca URL-uri de date.
Compromisurile imaginilor base64
Codificarea base64 este convenabilă, dar are și costuri:
- Textul codificat este cu aproximativ o treime mai mare decât fișierul original.
- Browserele nu pot memora în cache o imagine încorporată la fel ca un fișier asociat, așa că aceasta este descărcată din nou de fiecare dată când este încărcată pagina sau foaia de stil care o conține.
- Browserul trebuie să decodeze textul base64 înainte de a putea afișa imaginea, ceea ce necesită o cantitate mică de procesare suplimentară.
- Din cauza creșterii dimensiunii și a faptului că datele nu mai pot fi memorate în cache, încorporarea base64 este potrivită pentru imagini mici, precum pictogramele și siglele simple. Fotografiile mai mari sunt de obicei mai bine furnizate ca fișiere imagine obișnuite.
Întrebări frecvente
Ce este un decodor de imagini base64?
Este un instrument care transformă un șir de text codificat în base64 într-o imagine vizibilă, precum un fișier PNG, JPEG, GIF, WebP, BMP sau SVG.
Cum decodez o imagine base64?
Introduceți șirul base64, cu sau fără prefixul data:image/..., în decodor. Acesta va citi șirul, îl va decoda și va afișa imaginea rezultată.
Poate fi decodat un șir base64 fără prefixul URL-ului de date?
Da. Decodorul îl tratează ca date base64 brute, decodează octeții și citește primii octeți pentru a identifica formatul pe baza semnăturii sale, precum PNG, JPEG, GIF, WebP, BMP sau ICO. SVG este identificat prin căutarea unei etichete <svg în textul decodificat. Dacă niciuna dintre acestea nu corespunde, decodorul indică faptul că șirul nu pare să fie o imagine, în loc să presupună un format.
De ce nu se decodează imaginea mea base64?
Trei cauze acoperă majoritatea cazurilor. Șirul poate conține caractere din afara alfabetului base64 standard, care este A–Z, a–z, 0–9, +, / și =; varianta base64url folosită în unele tokenuri web scrie în schimb - și _ și nu este acceptată. Este posibil ca șirul să fi fost întrerupt la mijloc, lăsând o lungime cu unu mai mare decât un multiplu de patru, lucru imposibil pentru un șir base64 valid. Sau octeții pot pur și simplu să nu aparțină unuia dintre formatele de imagine acceptate. Lipsa completării = nu este, în sine, o problemă, iar spațiile și întreruperile de linie sunt eliminate înainte de decodificare.
Este codificarea base64 o formă de securitate sau criptare?
Nu. Base64 este doar un mod de a reprezenta octeții ca text; nu ascunde nimic. Oricine poate decoda un șir base64 în câteva secunde cu un instrument gratuit, de aceea nu ar trebui folosit niciodată pentru a proteja imaginile private sau alte date.
Cu cât este mai mare un șir base64 față de imaginea originală?
Cu aproximativ o treime pentru fișierele mai mari, deoarece fiecare 3 octeți din datele originale devine 4 caractere de text. O imagine de 100 KB devine aproximativ 133 KB după codificare. Imaginile mici pot prezenta o creștere procentuală ceva mai mare din cauza rotunjirii.
Istoric
Base64 a evoluat din scheme de codificare dezvoltate în anii 1970 și 1980 pentru a transmite date binare prin sisteme de e-mail care acceptau doar text simplu, fiind oficializată pentru e-mail în RFC 989 (1987) și ulterior în RFC 1421. Utilizarea sa pentru încorporarea imaginilor în pagini web a devenit posibilă după definirea schemei de URL data: în RFC 2397 (1998) și s-a răspândit în anii 2000, când dezvoltatorii au căutat modalități de a reduce numărul solicitărilor HTTP separate, mai ales pe conexiuni mobile lente.