Base64 pildi dekooder ja vaatleja | Muuda Base64 pildiks
Dekodeeri ja eelvaata base64-kodeeritud pildistringe koheselt. Toetab JPEG, PNG, GIF ja teisi levinud formaate koos vigade käsitlemisega kehtetute sisendite jaoks.
Base64 Pildi Dekooder ja Vaataja
Kopeeri base64-kodeeritud pildi string ja dekodeeri see, et näha pilti.
Pildi Eelvaade
Ei ole pilti kuvamiseks. Kopeeri base64 string, et näha seda automaatselt dekodeerituna.
Toetab JPEG, PNG, GIF ja muid levinud pildiformaate.
Juhised
1. Kopeeri base64-kodeeritud pildi string ülalolevasse tekstiala.
2. Pilt dekodeeritakse automaatselt, kui sa kirjutad, või kliki 'Dekodeeri Pilt' nupule.
3. Dekodeeritud pilt ilmub allolevasse eelvaate alasse.
Märkus: String peaks algama 'data:image/' parimate tulemuste saavutamiseks, kuid tööriist proovib dekodeerida ka stringe ilma selle eelneva osata.
Dokumentatsioon
Base64 Pildi Dekooder ja Vaataja
Sissejuhatus
Base64 on binaarsete andmete tekstiks kodeerimise skeem, mis esindab binaarset teavet ASCII stringi formaadis. Seda kasutatakse sageli pildandmete otse manustamiseks HTML-is, CSS-is, JavaScriptis, JSON-is ja muudes tekstipõhistes formaatides, kuhu binaarset teavet ei saa otse lisada. See tööriist võimaldab teil dekodeerida base64 kodeeritud pildistringe ja vaadata saadud pilte otse oma brauseris.
Base64 kodeerimine suurendab andme suurust ligikaudu 33% võrreldes originaalse binaariga, kuid see võimaldab pilte otse tekstipõhistes dokumentides manustada, ilma et oleks vaja eraldi failide allalaadimist. See võib olla eriti kasulik väikeste piltide, nagu ikoonid, logod või lihtsad graafikud, puhul, kus manustamise mugavus kaalub üles suuruse suurenemise.
Meie Base64 Pildi Dekooderi tööriist pakub lihtsat liidest, kus saate kleepida base64 kodeeritud pildistringi ja koheselt näha dekodeeritud pilti. See toetab kõiki levinud pildiformaate, sealhulgas JPEG, PNG, GIF, WebP ja SVG, ning suudab käsitleda nii andme-URL formaati (koos data:image/...
eelneva osaga) kui ka toore base64 stringe.
Tehnilised Üksikasjad
Base64 Kodeerimise Formaat
Base64 kodeerimine muundab binaarandmed 64 ASCII tähemärgiks (A-Z, a-z, 0-9, + ja /), kus = kasutatakse täiendamiseks. Veebipiltide puhul on base64 andmed tavaliselt vormindatud andme-URL-ina järgmise struktuuriga:
1data:[<meedia tüüp>][;base64],<andmed>
2
Näiteks võib base64 kodeeritud PNG pilt välja näha järgmiselt:
1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2
Selle formaadi komponendid on:
data:
- URL skeemimage/png
- Andmete MIME tüüp;base64
- Kodeerimismeetod,
- Piiraja päise ja andmete vahel- Tegelik base64 kodeeritud andmed
Dekodeerimise Protsess
Base64 pildistringi dekodeerimisel toimuvad järgmised sammud:
- Stringi analüüsitakse, et tuvastada, kas see sisaldab andme-URL eelnevat osa
- Kui eelneva osa olemas, eraldatakse MIME tüüp, et määrata pildi formaat
- Base64 andmete osa eraldatakse ja dekodeeritakse binaarseteks andmeteks
- Binaarsed andmed muundatakse Blob-iks või objekti URL-iks, mida saab kuvada pildina
Kui sisend ei sisalda andme-URL eelnevat osa, püüab dekooder seda käsitleda kui toore base64 andmeid ja tuletab pildi tüübi dekodeeritud binaarpeast või eeldab vaikimisi PNG.
Toetatud Pildiformaadid
See tööriist toetab kõiki levinud veebipildiformaate:
Formaat | MIME Tüüp | Tüüpilised Kasutuse Juhud |
---|---|---|
JPEG | image/jpeg | Fotod, keerukad pildid, kus on palju värve |
PNG | image/png | Pildid, mis vajavad läbipaistvust, ekraanipildid, graafika |
GIF | image/gif | Lihtsad animatsioonid, piiratud värvidega pildid |
WebP | image/webp | Kaasaegne formaat, millel on parem kompressioon kui JPEG/PNG |
SVG | image/svg+xml | Vektorgraafika, skaleeritavad ikoonid ja illustreerimised |
Kasutuse Juhud
Base64 kodeeritud piltidel on mitmeid praktilisi rakendusi veebiarenduses ja mujal:
-
Piltide manustamine HTML-is/CSS-is/JS-is: Vähendab HTTP päringute arvu, manustades pildid otse teie koodis, mis võib parandada väikeste piltide laadimisaegu.
-
E-kirjade mallid: Tagab, et pildid kuvatakse korralikult e-kirja klientides, mis vaikimisi blokeerivad välised pildid.
-
Ühe faili rakendused: Loob iseseisvad HTML rakendused, kus kõik ressursid on manustatud ühte faili.
-
API vastused: Lisab pilditeabe otse JSON vastustesse, ilma et oleks vaja eraldi pildi lõpp-punkte.
-
Andme-URL-id CSS-is: Manustab väikeseid ikoone ja taustapilte otse CSS-failidesse.
-
Kangaste manipuleerimine: Lihtsustab kangas pilditeabe salvestamist ja edastamist.
-
Offline rakendused: Salvestab pilte tekstistringe kohaliku salvestuse või IndexedDB-s.
Tulemuslikkuse Kaalu
Kuigi base64 kodeerimine pakub mugavust, kaasnevad sellega ka kaubandused:
- Suurenenud faili suurus: Base64 kodeerimine suurendab andme suurust ligikaudu 33%.
- Brauseri vahemälu puudumine: Manustatud pilte ei saa eraldi vahemällu salvestada nagu väliseid pildifaile.
- Parsimise ülemäärasus: Brauserid peavad dekodeerima base64 stringi enne renderdamist.
- Hooldusprobleemid: Manustatud pilte on raskem uuendada kui viidatud faile.
Parima tulemuse saavutamiseks soovitatakse base64 kodeerimist üldiselt ainult väikeste piltide (alla 10KB) puhul. Suuremad pildid on tavaliselt paremini teenindatavad eraldi failidena, mida saab korralikult vahemällu salvestada ja optimeerida.
Alternatiivid
Mitmed alternatiivid base64 kodeerimisele eksisteerivad erinevate kasutusjuhtude jaoks:
-
SVG inline manustamine: Vektorgraafika puhul pakub inline SVG sageli paremat tulemuslikkust ja paindlikkust kui base64 kodeeritud SVG.
-
WebP ja kaasaegsed pildiformaadid: Need pakuvad paremat kompressiooni kui base64 kodeeritud JPEG/PNG.
-
Pildisprite: Ühendab mitu väikest pilti ühte faili ja kasutab CSS-i positsioneerimist.
-
CDN-id (Sisu Edastamise Võrgud): Tootmisveebisaitide jaoks on optimeeritud piltide teenindamine CDN-ist sageli tõhusam.
-
Andmete kompressioon: Suurte binaarsete andmete edastamiseks on spetsialiseeritud kompressioonialgoritmid, nagu gzip või Brotli, tõhusamad kui base64.
Koodinäited
Siin on näited base64 kodeeritud piltidega töötamisest erinevates programmeerimiskeeltes:
1// Muuda pilt base64-ks JavaScriptis (brauser)
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 // Saada andme-URL-na (base64 string)
11 return canvas.toDataURL('image/png');
12}
13
14// Kuvage base64 pilt
15function displayBase64Image(base64String) {
16 const img = new Image();
17
18 // Käsitlege stringe, kus ei ole andme-URL eelnevat osa
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
1import base64
2from PIL import Image
3from io import BytesIO
4
5# Muuda pildifail base64-ks
6def image_to_base64(image_path):
7 with open(image_path, "rb") as image_file:
8 encoded_string = base64.b64encode(image_file.read())
9 return encoded_string.decode('utf-8')
10
11# Muuda base64 pilt ja salvesta
12def base64_to_image(base64_string, output_path):
13 # Eemalda andme-URL eelneva osa, kui see on olemas
14 if ',' in base64_string:
15 base64_string = base64_string.split(',')[1]
16
17 image_data = base64.b64decode(base64_string)
18 image = Image.open(BytesIO(image_data))
19 image.save(output_path)
20
21# Näidis kasutamine
22base64_str = image_to_base64("input.jpg")
23print(f"data:image/jpeg;base64,{base64_str[:30]}...") # Prindi stringi algus
24
25base64_to_image(base64_str, "output.jpg")
26
1<?php
2// Muuda pildifail base64-ks PHP-s
3function imageToBase64($path) {
4 $type = pathinfo($path, PATHINFO_EXTENSION);
5 $data = file_get_contents($path);
6 return 'data:image/' . $type . ';base64,' . base64_encode($data);
7}
8
9// Muuda base64 pilt ja salvesta
10function base64ToImage($base64String, $outputPath) {
11 // Eemalda andme-URL eelneva osa, kui see on olemas
12 $imageData = explode(',', $base64String);
13 $imageData = isset($imageData[1]) ? $imageData[1] : $imageData[0];
14
15 // Dekodeeri ja salvesta
16 $data = base64_decode($imageData);
17 file_put_contents($outputPath, $data);
18}
19
20// Näidis kasutamine
21$base64Image = imageToBase64('input.jpg');
22echo substr($base64Image, 0, 50) . "...\n"; // Prindi stringi algus
23
24base64ToImage($base64Image, 'output.jpg');
25?>
26
1import java.io.File;
2import java.io.FileOutputStream;
3import java.io.IOException;
4import java.nio.file.Files;
5import java.util.Base64;
6
7public class Base64ImageUtil {
8
9 // Muuda pildifail base64-ks
10 public static String imageToBase64(String imagePath) throws IOException {
11 File file = new File(imagePath);
12 byte[] fileContent = Files.readAllBytes(file.toPath());
13 String extension = imagePath.substring(imagePath.lastIndexOf(".") + 1);
14 String base64String = Base64.getEncoder().encodeToString(fileContent);
15
16 return "data:image/" + extension + ";base64," + base64String;
17 }
18
19 // Muuda base64 pilt ja salvesta
20 public static void base64ToImage(String base64String, String outputPath) throws IOException {
21 // Eemalda andme-URL eelneva osa, kui see on olemas
22 if (base64String.contains(",")) {
23 base64String = base64String.split(",")[1];
24 }
25
26 byte[] decodedBytes = Base64.getDecoder().decode(base64String);
27
28 try (FileOutputStream fos = new FileOutputStream(outputPath)) {
29 fos.write(decodedBytes);
30 }
31 }
32
33 public static void main(String[] args) throws IOException {
34 String base64Image = imageToBase64("input.jpg");
35 System.out.println(base64Image.substring(0, 50) + "..."); // Prindi stringi algus
36
37 base64ToImage(base64Image, "output.jpg");
38 }
39}
40
1using System;
2using System.IO;
3using System.Text.RegularExpressions;
4
5class Base64ImageConverter
6{
7 // Muuda pildifail base64-ks
8 public static string ImageToBase64(string imagePath)
9 {
10 byte[] imageBytes = File.ReadAllBytes(imagePath);
11 string base64String = Convert.ToBase64String(imageBytes);
12
13 string extension = Path.GetExtension(imagePath).TrimStart('.').ToLower();
14 return $"data:image/{extension};base64,{base64String}";
15 }
16
17 // Muuda base64 pilt ja salvesta
18 public static void Base64ToImage(string base64String, string outputPath)
19 {
20 // Eemalda andme-URL eelneva osa, kui see on olemas
21 if (base64String.Contains(","))
22 {
23 base64String = base64String.Split(',')[1];
24 }
25
26 byte[] imageBytes = Convert.FromBase64String(base64String);
27 File.WriteAllBytes(outputPath, imageBytes);
28 }
29
30 static void Main()
31 {
32 string base64Image = ImageToBase64("input.jpg");
33 Console.WriteLine(base64Image.Substring(0, 50) + "..."); // Prindi stringi algus
34
35 Base64ToImage(base64Image, "output.jpg");
36 }
37}
38
1require 'base64'
2
3# Muuda pildifail base64-ks
4def image_to_base64(image_path)
5 extension = File.extname(image_path).delete('.')
6 base64_data = Base64.strict_encode64(File.read(image_path))
7 "data:image/#{extension};base64,#{base64_data}"
8end
9
10# Muuda base64 pilt ja salvesta
11def base64_to_image(base64_string, output_path)
12 # Eemalda andme-URL eelneva osa, kui see on olemas
13 if base64_string.include?(',')
14 base64_string = base64_string.split(',')[1]
15 end
16
17 File.open(output_path, 'wb') do |file|
18 file.write(Base64.decode64(base64_string))
19 end
20end
21
22# Näidis kasutamine
23base64_image = image_to_base64('input.jpg')
24puts base64_image[0, 50] + '...' # Prindi stringi algus
25
26base64_to_image(base64_image, 'output.jpg')
27
1' Excel VBA funktsioon faili kodeerimiseks base64-ks
2Function FileToBase64(filePath As String) As String
3 Dim fileNum As Integer
4 Dim fileData() As Byte
5 Dim objXML As Object
6 Dim objNode As Object
7
8 fileNum = FreeFile
9 Open filePath For Binary Access Read As fileNum
10 ReDim fileData(LOF(fileNum) - 1)
11 Get fileNum, , fileData
12 Close fileNum
13
14 Set objXML = CreateObject("MSXML2.DOMDocument")
15 Set objNode = objXML.createElement("b64")
16
17 objNode.DataType = "bin.base64"
18 objNode.nodeTypedValue = fileData
19
20 FileToBase64 = objNode.Text
21
22 Set objNode = Nothing
23 Set objXML = Nothing
24End Function
25
26' Kasutamine Excelis:
27' =FileToBase64("C:\path\to\image.jpg")
28
HTML Teostus
Siin on, kuidas manustada base64 pilti otse HTML-i:
1<!-- Base64 pildi otse manustamine HTML-is -->
2<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Base64 kodeeritud pilt">
3
4<!-- CSS-i kasutamine base64 taustapildiga -->
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
Ajalugu
Base64 kodeerimine on oma juured saanud 1970. aastate elektrooniliste postisüsteemide arendamisest. See loodi, et lahendada binaarsete andmete edastamise probleemide kaudu süsteemides, mis olid mõeldud ainult ASCII teksti käsitlemiseks.
Kodeerimisskeem formaliseeriti 1987. aastal, kui avaldati RFC 989, mis määratles privaatsuse täiustatud posti (PEM) standardi. Seda uuendati hiljem RFC 1421 ja teiste seotud standarditega. Termin "base64" tuleneb sellest, et kodeerimine kasutab 64 erinevat ASCII tähemärki binaarsete andmete esindamiseks.
Veebiarenduse kontekstis sai base64 kodeeritud piltide kasutamine populaarseks andme-URL-de tekkimisega, mis esitati esmakordselt RFC 2397-s 1998. aastal. See võimaldas binaarsete andmete otse HTML-i, CSS-i ja muudesse veebidokumentidesse manustada.
Base64 kodeeritud piltide kasutamine veebiarenduses muutus laiemaks 2000. aastate keskpaiku, kui arendajad otsisid viise HTTP päringute arvu vähendamiseks ja lehe laadimisaegade parandamiseks. Tehnika sai eriti populaarsust mobiilsete veebiarenduste tõusuga, kus päringute vähendamine oli aeglasematel mobiilsideühendustel tulemuslikkuse jaoks ülioluline.
Tänapäeval jääb base64 kodeerimine oluliseks tööriistaks veebiarenduses, kuigi selle kasutamine on muutunud sihituks, kuna parimad tavad on arenenud. Kaasaegsed lähenemisviisid kipuvad kasutama base64 kodeerimist valikuliselt väikeste, kriitiliste piltide jaoks, samas kui suuremate varade jaoks eelistatakse tõhusamaid edastusmeetodeid, nagu HTTP/2.
Viidatud Allikad
Tagasiside
Kliki tagasiside teavitusele, et alustada tagasiside andmist selle tööriista kohta
Seotud tööriistad
Avasta rohkem tööriistu, mis võivad olla kasulikud sinu töövoo jaoks