Base64 attēlu dekodētājs | Dekodēt un priekšskatīt attēlus tiešsaistē
Bezmaksas tiešsaistes base64 attēlu dekodētāja rīks. Nekavējoties dekodēt un priekšskatīt base64 virknes kā JPEG, PNG, GIF, WebP vai SVG attēlus. Darbojas ar datu URL un neapstrādātu base64.
Base64 attēla dekodētājs un skatītājs
Ielīmējiet base64 kodētu attēla virkni un dekodējiet to, lai skatītu attēlu.
Attēla priekšskatījums
Nav attēla priekšskatīšanai. Ielīmējiet base64 virkni, lai to automātiski dekodētu.
Atbalsta JPEG, PNG, GIF un citus izplatītus attēlu formātus.
Instrukcijas
1. Ielīmējiet base64 kodētu attēla virkni teksta laukā augstāk.
2. Attēls tiks automātiski dekodēts, rakstot, vai arī noklikšķiniet uz pogas 'Dekodēt attēlu'.
3. Dekodētais attēls parādīsies priekšskatījuma apgabalā zemāk.
Piezīme: Virknei būtu jāsākas ar 'data:image/' labākajiem rezultātiem, bet rīks mēģinās dekodēt arī virknes bez šī prefiksa.
Dokumentācija
Kas ir base64 attēlu dekodētājs?
Base64 attēlu dekodētājs ir rīks, kas pārvērš base64 kodētu teksta virkni atpakaļ attēlā. Base64 ir veids, kā bināros datus, piemēram, attēla faila baitus, pierakstīt, izmantojot tikai 64 vienkārša teksta rakstzīmes (burtus, ciparus, +, / un aizpildījumam =). Pārlūkprogrammas, e-pasta ziņojumi un daudzas API šādi glabā attēlus, lai attēls varētu ceļot vienkāršā tekstā, nevis kā atsevišķs fails. Dekodētājs apvērš šo procesu: ievietojiet virkni, un tiek parādīts sākotnējais attēls.
Datu URL formāts
Tīmeklī base64 attēlu parasti pieraksta kā datu URL. Veidne ir šāda:
1data:[<media type>];base64,<data>
2Piemēram:
1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2Katrai daļai ir savs uzdevums:
data:norāda, ka tas ir datu URL, nevis parasta tīmekļa adrese.image/pngir MIME tips, kas pārlūkprogrammai norāda, kāda veida fails tas ir.;base64norāda, ka dati aiz komata ir base64 kodēti.- Viss aiz komata ir pats kodētais attēls.
Kā darbojas dekodētājs
Dekodēšana notiek četros soļos.
- Rīks pārbauda, vai virkne sākas ar
data:. Datu URL, kurā norādīts attēlam neatbilstošs multivides tips, piemēram,data:text/plain, tiek uzreiz noraidīts, jo to nekad nevar parādīt kā attēlu. - Tas izņem atstarpes, tabulatorus un rindu pārtraukumus, jo garas base64 virknes dažkārt tiek sadalītas vairākās rindās. Derīgā slodze, kurā base64 vietā izmantota procentkodēšana, ko pieļauj arī RFC 2397, tiek nodota tālāk nemainīta.
- Tas dekodē base64 tekstu atpakaļ neapstrādātos baitos.
- Tas aplūko rezultāta pirmos baitus. Katrs izplatītais attēla formāts sākas ar fiksētu baitu virkni, ko sauc par parakstu jeb “maģisko skaitli”. PNG faili sākas ar
89 50 4E 47, JPEG faili — arFF D8 FF, un tā tālāk. Dekodētājs salīdzina šos parakstus un piešķir attēlam to noteikto tipu.
Noteicošie ir baiti, nevis marķējums. Ja datu URL norāda data:image/png, bet baiti sākas ar FF D8 FF, dekodētājs no jauna izveido URL kā data:image/jpeg, tāpēc virkne, ko piedāvā poga “Kopēt attēla URL”, nekad neapraksta nepareizi savu saturu.
Ja virknei nav data: prefiksa, dekodētājs to uztver kā neapstrādātus base64 datus, dekodē tos un tāpat nolasa parakstu. Ja baiti neatbilst nevienam zināmam attēla parakstam un neizskatās pēc SVG teksta, dekodētājs ziņo, ka virkne, šķiet, nav attēls. Tas nemēģina uzminēt formātu un neizmanto noklusējuma tipu.
SVG tiek apstrādāts citādi, jo SVG ir teksta formāts (XML), nevis binārs formāts, tāpēc tam nav fiksēta baitu paraksta. Dekodētājs pārbauda dekodētā teksta pirmos 1024 baitus, meklējot tagu <svg, XML deklarāciju, piemēram, <?xml version="1.0"?>, kurai seko šāds tags, vai SVG dokumenta tipa deklarāciju, kurai seko šāds tags. Baitu secības marķieris pašā faila sākumā, ko dažkārt UTF-8 failiem pievieno redaktori, tiek ignorēts. Tā kā SVG nevar identificēt pēc baitu paraksta, datu URL, kurā deklarēts image/svg+xml, saglabā deklarēto tipu.
Base64 attēla izmēra formula
Base64 pārvērš katrus 3 bināro datu baitus par 4 teksta rakstzīmēm. Kodētā garuma formula ir šāda:
1encoded_characters = 4 × ⌈original_bytes ÷ 3⌉
2Simboli ⌈ ⌉ nozīmē “noapaļot uz augšu līdz nākamajam veselajam skaitlim”, jo base64 vienmēr darbojas ar 4 rakstzīmju grupām un atlikušo grupu papildina ar = zīmēm.
Lieliem failiem tas nozīmē aptuveni 33% izmēra pieaugumu, jo 4 ÷ 3 ≈ 1,33. Maziem failiem procentuālais pieaugums var būt lielāks, jo noapaļošanai uz augšu līdz nākamajai 4 rakstzīmju grupai ir lielāka nozīme, ja sākotnēji datu nav daudz.
Atrisināts piemērs
Iepriekš minētais PNG piemērs dekodējas par 85 baitiem attēla datu. Izmantojot formulu:
14 × ⌈85 ÷ 3⌉ = 4 × 29 = 116
2Base64 virkne patiešām ir 116 rakstzīmes gara, kas sakrīt. Tas ir 36% pieaugums salīdzinājumā ar sākotnējiem 85 baitiem (116 ÷ 85 ≈ 1,36), nedaudz vairāk par 33%, jo fails ir tik mazs.
Atbalstītie attēlu formāti
Dekodētājs nolasa dekodēto datu baitu parakstu, lai noteiktu formātu. Tas atpazīst šādus tipus:
| Formāts | MIME tips | Pārbaudītais paraksts |
|---|---|---|
| PNG | image/png | 89 50 4E 47 0D 0A 1A 0A |
| JPEG | image/jpeg | FF D8 FF |
| GIF | image/gif | GIF87a vai GIF89a |
| WebP | image/webp | RIFF, četri ignorēti baiti, pēc tam WEBPVP |
| BMP | image/bmp | BM |
| ICO / CUR | image/x-icon | 00 00 01 00 vai 00 00 02 00 |
| SVG | image/svg+xml | Nav paraksta; tiek noteikts kā teksts, kas satur tagu <svg |
Kā dekodēt base64 attēlu
- Nokopējiet base64 virkni ar prefiksu
data:image/...vai bez tā no HTML, CSS, API atbildes vai e-pasta ziņojuma. - Ielīmējiet to ievades laukā.
- Attēls tiek automātiski dekodēts brīdi pēc rakstīšanas beigām vai pēc dekodēšanas pogas nospiešanas.
- Dekodētais attēls tiek parādīts priekšskatījuma apgabalā. Tā datu URL var nokopēt ar pogu “Kopēt attēla URL”, bet pašu attēlu var saglabāt, priekšskatījumā noklikšķinot uz tā ar peles labo pogu un izvēloties attēla saglabāšanu, jo pārlūkprogramma to attēlo kā parastu attēla elementu.
Biežākie base64 attēlu izmantošanas veidi
- Iegulšana HTML, CSS vai JavaScript: ievietojot attēla datus tieši kodā, nav vajadzīgs atsevišķs faila pieprasījums.
- E-pasta veidnes: daži e-pasta klienti pēc noklusējuma bloķē ārēji saistītus attēlus, bet iegults base64 attēls joprojām tiek parādīts.
- Vienfaila HTML rīki: visa lapa, tostarp attēli, var tikt nosūtīta kā viens patstāvīgs fails.
- API atbildes: attēlu var nosūtīt JSON derīgajā slodzē, nevis izmantot tam atsevišķu galapunktu.
- CSS foni un ikonas: mazas ikonas dažkārt tiek ierakstītas tieši stilu lapā kā datu URL.
Base64 attēlu kompromisi
Base64 kodēšana ir ērta, taču tai ir savas izmaksas:
- Kodētais teksts ir aptuveni par trešdaļu lielāks nekā sākotnējais fails.
- Pārlūkprogrammas nevar iegultu attēlu kešot tāpat kā saistītu failu, tāpēc tas tiek lejupielādēts no jauna ikreiz, kad tiek ielādēta apkārtējā lapa vai stilu lapa.
- Pārlūkprogrammai base64 teksts ir jādekodē, pirms tā var parādīt attēlu, un tas prasa nedaudz papildu apstrādes.
- Izmēra pieauguma un kešatmiņas priekšrocību zaudēšanas dēļ base64 iegulšana ir piemērota maziem attēliem, piemēram, ikonām un vienkāršiem logotipiem. Lielākas fotogrāfijas parasti labāk nodrošināt kā parastus attēlu failus.
Biežāk uzdotie jautājumi
Kas ir base64 attēlu dekodētājs?
Tas ir rīks, kas pārvērš base64 kodētu teksta virkni atpakaļ apskatāmā attēlā, piemēram, PNG, JPEG, GIF, WebP, BMP vai SVG failā.
Kā dekodēt base64 attēlu?
Ielīmējiet base64 virkni ar prefiksu data:image/... vai bez tā dekodētājā. Tas nolasīs virkni, dekodēs to un parādīs iegūto attēlu.
Vai base64 virkni var dekodēt bez datu URL prefiksa?
Jā. Dekodētājs to uztver kā neapstrādātus base64 datus, dekodē baitus un nolasa pirmos baitus, lai pēc paraksta noteiktu formātu, piemēram, PNG, JPEG, GIF, WebP, BMP vai ICO. SVG tiek identificēts, dekodētajā tekstā meklējot tagu <svg. Ja nekas no minētā neatbilst, dekodētājs ziņo, ka virkne, šķiet, nav attēls, nevis mēģina uzminēt formātu.
Kāpēc mans base64 attēls netiek dekodēts?
Lielāko daļu gadījumu izskaidro trīs iemesli. Virknē var būt rakstzīmes ārpus standarta base64 alfabēta, ko veido A–Z, a–z, 0–9, +, / un =; dažos tīmekļa marķieros izmantotais base64url variants to vietā raksta - un _, un tas netiek pieņemts. Virkne var būt pārtraukta vidū, atstājot garumu, kas ir par vienu lielāks nekā četru daudzkārtnis, bet tāds garums nevienai derīgai base64 virknei nav iespējams. Vai arī baiti vienkārši var nebūt kādā no atbalstītajiem attēlu formātiem. Trūkstošs = aizpildījums pats par sevi nav problēma, un atstarpes vai rindu pārtraukumi pirms dekodēšanas tiek izņemti.
Vai base64 kodēšana ir drošības vai šifrēšanas veids?
Nē. Base64 ir tikai veids, kā attēlot baitus tekstā; tas neko neslēpj. Ikviens var dažu sekunžu laikā dekodēt base64 virkni, izmantojot bezmaksas rīku, tāpēc to nekad nevajadzētu izmantot privātu attēlu vai citu datu aizsardzībai.
Cik daudz lielāka par sākotnējo attēlu ir base64 virkne?
Lielākiem failiem tā ir aptuveni par trešdaļu lielāka, jo katri 3 sākotnējo datu baiti kļūst par 4 teksta rakstzīmēm. 100 KB attēls pēc kodēšanas kļūst aptuveni 133 KB liels. Maziem attēliem procentuālais pieaugums var būt nedaudz lielāks noapaļošanas dēļ.
Vēsture
Base64 izveidojās no kodēšanas shēmām, kas tika izstrādātas 1970. un 1980. gados bināro datu nosūtīšanai pa pasta sistēmām, kuras apstrādāja tikai vienkāršu tekstu; e-pastam tā tika formalizēta RFC 989 (1987) un vēlāk RFC 1421. Attēlu iegulšana tīmekļa lapās kļuva iespējama, kad RFC 2397 (1998) definēja data: URL shēmu, un tā kļuva izplatītāka 2000. gadu vidū, kad izstrādātāji meklēja veidus, kā samazināt atsevišķu HTTP pieprasījumu skaitu, īpaši lēnos mobilajos savienojumos.