Base64-kuvadecoderi ja -katselija | Muunna Base64-kuvat

Dekoodaa ja esikatsele base64-koodattuja kuvajonoja välittömästi. Tukee JPEG-, PNG-, GIF- ja muita yleisiä muotoja virheenkäsittelyllä virheellisten syötteiden osalta.

Base64-kuvan dekooderi ja katselija

Liitä base64-koodattu kuvajono ja dekoodaa se nähdäksesi kuvan.

Kuvan esikatselu

Ei kuvaa näytettäväksi. Liitä base64-jono nähdäksesi sen automaattisesti dekoodattuna.

Tukee JPEG-, PNG-, GIF- ja muita yleisiä kuvamuotoja.

Ohjeet

1. Liitä base64-koodattu kuvajono yllä olevaan tekstikenttään.

2. Kuva dekoodataan automaattisesti kirjoittaessasi tai napsauta 'Dekoodaa kuva' -painiketta.

3. Dekoodattu kuva näkyy alla olevassa esikatselualueessa.

Huom: Jono pitäisi alkaa 'data:image/' parhaan tuloksen saamiseksi, mutta työkalu yrittää dekoodata myös ilman tätä etuliitettä.

📚

Dokumentaatio

Base64-kuva-dekooderi ja -katseluohjelma

Johdanto

Base64 on binaarista tekstiksi koodausmenetelmä, joka esittää binaaridataa ASCII-merkkijonona. Sitä käytetään yleisesti kuvadataa upottamaan suoraan HTML:ään, CSS:ään, JavaScriptiin, JSON:iin ja muihin tekstipohjaisiin muotoihin, joihin binaaridataa ei voida suoraan sisällyttää. Tämä työkalu mahdollistaa base64-koodattujen kuvajonojen dekoodauksen ja tuloksena olevien kuvien katselun suoraan selaimessasi.

Base64-koodaus lisää datan kokoa noin 33 % alkuperäiseen binaariin verrattuna, mutta se mahdollistaa kuvien sisällyttämisen suoraan tekstipohjaisiin asiakirjoihin ilman erillisten tiedostojen lataamista. Tämä voi olla erityisen hyödyllistä pienille kuville, kuten kuvakkeille, logoille tai yksinkertaisille grafiikoille, joissa upottamisen mukavuus ylittää koon kasvun.

Base64-kuva-dekooderimme tarjoaa yksinkertaisen käyttöliittymän, johon voit liittää base64-koodatun kuvajonon ja nähdä heti dekoodatun kuvan. Se tukee kaikkia yleisiä kuvamuotoja, mukaan lukien JPEG, PNG, GIF, WebP ja SVG, ja se voi käsitellä sekä data URL -muotoa (jossa on data:image/... etuliite) että raakoja base64-jonoja.

Teknisiä tietoja

Base64-koodausmuoto

Base64-koodaus muuntaa binaaridatan 64 ASCII-merkin (A-Z, a-z, 0-9, + ja /) joukkoon, jossa = käytetään täydennykseen. Verkkokuville base64-data on tyypillisesti muotoiltu data URL:ksi seuraavalla rakenteella:

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

Esimerkiksi base64-koodattu PNG-kuva voi näyttää tältä:

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

Tämän muodon komponentit ovat:

  • data: - URL-skeema
  • image/png - Datan MIME-tyyppi
  • ;base64 - Koodausmenetelmä
  • , - Eroin otsikon ja datan välillä
  • Itse base64-koodattu data

Dekoodausprosessi

Kun base64-kuvajono dekoodataan, seuraavat vaiheet tapahtuvat:

  1. Merkkijono analysoidaan selvittääkseen, sisältääkö se data URL -etuliitteen
  2. Jos etuliite on olemassa, MIME-tyyppi eristetään kuvan muodon määrittämiseksi
  3. Base64-dataportaali eristetään ja dekoodataan binaaridataksi
  4. Binaaridata muunnetaan Blob- tai objektin URL:ksi, joka voidaan näyttää kuvana

Jos syöte ei sisällä data URL -etuliitettä, dekooderi yrittää käsitellä sitä raakana base64-datana ja päättelee kuvatyypin dekoodatun binaaripään perusteella tai oletuksena PNG:ksi.

Tuetut kuvamuodot

Tämä työkalu tukee kaikkia yleisiä verkkokuvamuotoja:

MuotoMIME-tyyppiTyypilliset käyttötapaukset
JPEGimage/jpegValokuvat, monimutkaiset kuvat, joissa on paljon värejä
PNGimage/pngKuvia, jotka vaativat läpinäkyvyyttä, kuvakaappauksia, grafiikkaa
GIFimage/gifYksinkertaiset animaatiot, rajalliset väri-kuvat
WebPimage/webpModerni muoto, joka tarjoaa paremman pakkaussuhteen kuin JPEG/PNG
SVGimage/svg+xmlVektorigrafiikka, skaalautuvat ikonit ja kuvitukset

Käyttötapaukset

Base64-koodatuilla kuvilla on useita käytännön sovelluksia verkkokehityksessä ja sen ulkopuolella:

  1. Kuvien upottaminen HTML:ään/CSS:ään/JS:ään: Vähentää HTTP-pyyntöjä sisällyttämällä kuvia suoraan koodiin, mikä voi parantaa sivun latausaikoja pienille kuville.

  2. Sähköpostimallit: Varmistaa, että kuvat näkyvät oikein sähköpostiasiakkaissa, jotka estävät ulkoiset kuvat oletusarvoisesti.

  3. Yhden tiedoston sovellukset: Luo itse asiassa HTML-sovelluksia, joissa kaikki resurssit on upotettu yhteen tiedostoon.

  4. API-vastaukset: Sisällyttää kuvadata suoraan JSON-vastauksiin ilman erillisiä kuvapisteitä.

  5. Data URIs CSS:ssä: Upottaa pieniä kuvakkeita ja taustakuvia suoraan CSS-tiedostoihin.

  6. Canvas-manipulaatiot: Helpottaa canvas-kuvadataan tallentamista ja siirtämistä.

  7. Offline-sovellukset: Tallentaa kuvia tekstijonoina localStorageen tai IndexedDB:hen.

Suorituskykyhuomiot

Vaikka base64-koodaus tarjoaa mukavuutta, siihen liittyy kauppasopimuksia:

  • Koon kasvu: Base64-koodaus lisää datan kokoa noin 33 %.
  • Ei selaimen välimuistia: Upotettuja kuvia ei voida välimuistittaa erikseen kuin ulkoisia kuvafailia.
  • Jäsentämisen ylikuormitus: Selainten on dekoodattava base64-merkkijono ennen renderöintiä.
  • Ylläpiton haasteet: Upotetut kuvat ovat vaikeampia päivittää kuin viitatut tiedostot.

Optimaalisen suorituskyvyn saavuttamiseksi base64-koodaus on yleensä suositeltavaa vain pienille kuville (alle 10 kt). Suuremmat kuvat palvelevat yleensä paremmin erillisinä tiedostoina, joita voidaan oikein välimuistittaa ja optimoida.

Vaihtoehdot

Useita vaihtoehtoja base64-koodaukselle on olemassa eri käyttötapauksille:

  1. SVG-inline upottaminen: Vektorigrafiikoille inline SVG tarjoaa usein paremman suorituskyvyn ja joustavuuden kuin base64-koodattu SVG.

  2. WebP ja modernit kuvamuodot: Nämä tarjoavat paremman pakkaussuhteen kuin base64-koodattu JPEG/PNG.

  3. Kuvapikselit: Yhdistää useita pieniä kuvia yhdeksi tiedostoksi ja käyttää CSS-asettelua.

  4. CDN:t (Content Delivery Networks): Tuotantosivustoille optimoitujen kuvien tarjoaminen CDN:stä on usein tehokkaampaa.

  5. Datan pakkaus: Suurten binaaridatan siirtämiseen erikoistuneet pakkausalgoritmit, kuten gzip tai Brotli, ovat tehokkaampia kuin base64.

Koodiesimerkit

Tässä on esimerkkejä base64-koodattujen kuvien käsittelystä eri ohjelmointikielillä:

1// Muunna kuva base64-muotoon JavaScriptissä (selaimessa)
2function imageToBase64(imgElement) {
3  const canvas = document.createElement('canvas');
4  canvas.width = imgElement.width;
5  canvas.height = imgElement.height;
6  
7  const ctx = canvas.getContext('2d');
8  ctx.drawImage(imgElement, 0, 0);
9  
10  // Hanki data URL:na (base64-merkkijonona)
11  return canvas.toDataURL('image/png');
12}
13
14// Näytä base64-kuva
15function displayBase64Image(base64String) {
16  const img = new Image();
17  
18  // Käsittele merkkijonoja, joissa ei ole data URL -etuliitettä
19  if (!base64String.startsWith('data:')) {
20    base64String = `data:image/png;base64,${base64String}`;
21  }
22  
23  img.src = base64String;
24  document.body.appendChild(img);
25}
26

HTML-toteutus

Tässä on, miten upottaa base64-kuva suoraan HTML:ään:

1<!-- Base64-kuvan upottaminen suoraan HTML:ään -->
2<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Base64-koodattu kuva">
3
4<!-- Käyttämällä CSS:ää base64-taustakuvalla -->
5<style>
6.base64-bg {
7  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==');
8  width: 100px;
9  height: 100px;
10}
11</style>
12<div class="base64-bg"></div>
13

Historia

Base64-koodauksen juuret ulottuvat sähköpostijärjestelmien kehittämiseen 1970-luvulla. Sen tarkoituksena oli ratkaista binaaridatan siirtämiseen liittyvät ongelmat järjestelmissä, jotka oli suunniteltu käsittelemään vain ASCII-tekstiä.

Koodausmenetelmä virallistettiin vuonna 1987, kun julkaistiin RFC 989, joka määritteli Privacy Enhanced Mail (PEM) -standardin. Tämä päivitettiin myöhemmin RFC 1421:ssä ja muissa liittyvissä standardeissa. Termi "base64" itsessään tulee siitä, että koodaus käyttää 64 erilaista ASCII-merkkiä binaaridatan esittämiseen.

Verkkokehityksen yhteydessä base64-koodattujen kuvien käyttö sai suosiota data URItin myötä, joka ehdotettiin ensimmäisen kerran RFC 2397:ssä vuonna 1998. Tämä mahdollisti binaaridatan sisällyttämisen suoraan HTML:ään, CSS:ään ja muihin verkkodokumentteihin.

Base64-koodattujen kuvien käyttö verkkokehityksessä yleistyi 2000-luvun puolivälissä, kun kehittäjät etsivät tapoja vähentää HTTP-pyyntöjä ja parantaa sivun latausaikoja. Tekniikkaa omaksuttiin erityisesti mobiiliverkkokehityksen nousun aikana, jolloin pyyntöjen minimointi oli ratkaisevan tärkeää hitaammilla mobiiliverkoilla.

Nykyään base64-koodaus on edelleen tärkeä työkalu verkkokehityksessä, vaikka sen käyttö on tullut kohdennetummaksi parhaita käytäntöjä kehitettäessä. Nykyiset lähestymistavat suosivat base64-koodausta valikoivasti pienille, kriittisille kuville, kun taas suuremmat resurssit toimitetaan tehokkaammin HTTP/2:n avulla.

Viitteet

  1. RFC 4648: The Base16, Base32, and Base64 Data Encodings
  2. RFC 2397: The "data" URL scheme
  3. MDN Web Docs: data URIs
  4. CSS-Tricks: Data URIs
  5. Base64-kuva-kooderi
  6. Can I Use: Data URIs
  7. Verkkosuorituskyky: Milloin base64-koodata kuvat (ja milloin ei)