ബേസിക്64 ചിത്രം ഡികോഡർ & ദൃശ്യവൽക്കരണ | ബേസിക്64-നെ ചിത്രങ്ങളിലേക്ക് മാറ്റുക
ബേസിക്64-ൽ എൻകോഡ് ചെയ്ത ചിത്രത്തിന്റെ സ്ട്രിംഗുകൾ ഉടനെ ഡികോഡ് ചെയ്ത് പ്രിവ്യൂ ചെയ്യുക. JPEG, PNG, GIF എന്നിവയുൾപ്പെടെയുള്ള സാധാരണ ഫോർമാറ്റുകൾക്ക് പിന്തുണയും അസാധുവായ എൻട്രികൾക്ക് പിശക് കൈകാര്യം ചെയ്യലും.
ബേസ64 ഇമേജ് ഡികോഡർ आणि ദർശകൻ
ഒരു ബേസ64-എൻകോഡഡ് ഇമേജ് സ്ട്രിംഗ് പേസ്റ്റ് ചെയ്ത് അത് ഡികോഡ് ചെയ്ത് ഇമേജ് കാണുക.
ഇമേജ് പ്രിവ്യൂ
കാണിക്കാൻ ഇമേജ് ഇല്ല. അത് സ്വയം ഡികോഡ് ചെയ്യാൻ ഒരു ബേസ64 സ്ട്രിംഗ് പേസ്റ്റ് ചെയ്യുക.
JPEG, PNG, GIF എന്നിവയും മറ്റ് സാധാരണ ഇമേജ് ഫോർമാറ്റുകളും പിന്തുണയ്ക്കുന്നു.
നിർദ്ദേശങ്ങൾ
1. മുകളിലുള്ള ടെക്സ്റ്റ് ഏരിയയിൽ ഒരു ബേസ64-എൻകോഡഡ് ഇമേജ് സ്ട്രിംഗ് പേസ്റ്റ് ചെയ്യുക.
2. നിങ്ങൾ ടൈപ്പ് ചെയ്യുമ്പോൾ ഇമേജ് സ്വയം ഡികോഡ് ചെയ്യും, അല്ലെങ്കിൽ 'ഇമേജ് ഡികോഡ് ചെയ്യുക' ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.
3. ഡികോഡ് ചെയ്ത ഇമേജ് താഴെയുള്ള പ്രിവ്യൂ ഏരിയയിൽ പ്രത്യക്ഷപ്പെടും.
കുറിപ്പ്: മികച്ച ഫലങ്ങൾക്ക്, സ്ട്രിംഗ് 'data:image/' എന്നതിൽ ആരംഭിക്കണം, എന്നാൽ ഈ പ്രിഫിക്സ് ഇല്ലാത്ത സ്ട്രിങ്ങുകൾ ഡികോഡ് ചെയ്യാൻ ഈ ഉപകരണം ശ്രമിക്കും.
ഡോക്യുമെന്റേഷൻ
Base64 छवि डिकोडर और व्यूअर
परिचय
Base64 एक बाइनरी-से-टेक्स्ट एन्कोडिंग योजना है जो बाइनरी डेटा को ASCII स्ट्रिंग प्रारूप में दर्शाती है। इसका सामान्य उपयोग HTML, CSS, JavaScript, JSON और अन्य टेक्स्ट-आधारित प्रारूपों में छवि डेटा को सीधे एम्बेड करने के लिए किया जाता है, जहाँ बाइनरी डेटा को सीधे शामिल नहीं किया जा सकता। यह उपकरण आपको base64-कोडित छवि स्ट्रिंग को डिकोड करने और परिणामस्वरूप छवियों को सीधे अपने ब्राउज़र में देखने की अनुमति देता है।
Base64 एन्कोडिंग मूल बाइनरी की तुलना में डेटा आकार को लगभग 33% बढ़ा देती है, लेकिन यह छवियों को टेक्स्ट-आधारित दस्तावेजों में सीधे शामिल करने की अनुमति देती है बिना अलग फ़ाइल डाउनलोड की आवश्यकता के। यह छोटे चित्रों जैसे आइकन, लोगो, या सरल ग्राफिक्स के लिए विशेष रूप से उपयोगी हो सकता है जहाँ एम्बेडिंग की सुविधा आकार वृद्धि से अधिक महत्वपूर्ण होती है।
हमारा Base64 छवि डिकोडर उपकरण एक सरल इंटरफ़ेस प्रदान करता है जहाँ आप एक base64-कोडित छवि स्ट्रिंग पेस्ट कर सकते हैं और तुरंत डिकोड की गई छवि देख सकते हैं। यह JPEG, PNG, GIF, WebP, और SVG सहित सभी सामान्य छवि प्रारूपों का समर्थन करता है, और यह डेटा URL प्रारूप (जिसमें data:image/...
उपसर्ग होता है) और कच्चे base64 स्ट्रिंग दोनों को संभाल सकता है।
तकनीकी विवरण
Base64 एन्कोडिंग प्रारूप
Base64 एन्कोडिंग बाइनरी डेटा को 64 ASCII वर्णों (A-Z, a-z, 0-9, +, और /) के सेट में परिवर्तित करती है, जिसमें = पैडिंग के लिए उपयोग किया जाता है। वेब पर छवियों के लिए, base64 डेटा को आमतौर पर डेटा URL के रूप में निम्नलिखित संरचना में फ़ॉर्मेट किया जाता है:
1data:[<media type>][;base64],<data>
2
उदाहरण के लिए, एक base64-कोडित PNG छवि इस प्रकार दिख सकती है:
1data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
2
इस प्रारूप के घटक हैं:
data:
- URL स्कीमimage/png
- डेटा का MIME प्रकार;base64
- एन्कोडिंग विधि,
- हेडर और डेटा के बीच एक डिलिमिटर- वास्तविक base64-कोडित डेटा
डिकोडिंग प्रक्रिया
जब base64 छवि स्ट्रिंग को डिकोड किया जाता है, तो निम्नलिखित चरण होते हैं:
- यह स्ट्रिंग को पार्स करता है ताकि यह पहचान सके कि क्या इसमें एक डेटा URL उपसर्ग है
- यदि उपसर्ग मौजूद है, तो छवि प्रारूप निर्धारित करने के लिए MIME प्रकार निकाला जाता है
- base64 डेटा भाग को अलग किया जाता है और बाइनरी डेटा में डिकोड किया जाता है
- बाइनरी डेटा को एक Blob या ऑब्जेक्ट URL में परिवर्तित किया जाता है जिसे छवि के रूप में प्रदर्शित किया जा सकता है
यदि इनपुट में डेटा URL उपसर्ग नहीं है, तो डिकोडर इसे कच्चे base64 डेटा के रूप में मानने का प्रयास करता है और डिकोड की गई बाइनरी हेडर से छवि प्रकार का अनुमान लगाता है या PNG पर डिफ़ॉल्ट करता है।
समर्थित छवि प्रारूप
यह उपकरण सभी सामान्य वेब छवि प्रारूपों का समर्थन करता है:
प्रारूप | MIME प्रकार | सामान्य उपयोग के मामले |
---|---|---|
JPEG | image/jpeg | फ़ोटो, कई रंगों वाले जटिल चित्र |
PNG | image/png | पारदर्शिता की आवश्यकता वाली छवियाँ, स्क्रीनशॉट, ग्राफिक्स |
GIF | image/gif | सरल एनिमेशन, सीमित रंग की छवियाँ |
WebP | image/webp | JPEG/PNG की तुलना में बेहतर संकुचन के साथ आधुनिक प्रारूप |
SVG | image/svg+xml | वेक्टर ग्राफिक्स, स्केलेबल आइकन और चित्रण |
उपयोग के मामले
Base64-कोडित छवियों के कई व्यावहारिक अनुप्रयोग हैं वेब विकास और उसके बाहर:
-
HTML/CSS/JS में छवियों को एम्बेड करना: छोटे चित्रों के लिए कोड में सीधे छवियों को शामिल करके HTTP अनुरोधों को कम करता है, जिससे पृष्ठ लोड समय में सुधार हो सकता है।
-
ईमेल टेम्पलेट: सुनिश्चित करता है कि छवियाँ ठीक से प्रदर्शित हों ईमेल क्लाइंट में जो डिफ़ॉल्ट रूप से बाहरी छवियों को ब्लॉक करते हैं।
-
सिंगल-फाइल एप्लिकेशन: एकल फ़ाइल में सभी संसाधनों को एम्बेड करके स्व-निहित HTML एप्लिकेशन बनाता है।
-
API प्रतिक्रियाएँ: छवि डेटा को सीधे JSON प्रतिक्रियाओं में शामिल करता है बिना अलग छवि एंडपॉइंट की आवश्यकता के।
-
CSS में डेटा URI: छोटे आइकन और पृष्ठभूमि छवियों को सीधे CSS फ़ाइलों में एम्बेड करता है।
-
कैनवास हेरफेर: कैनवास छवि डेटा को सहेजने और स्थानांतरित करने में सहायता करता है।
-
ऑफलाइन एप्लिकेशन: स्थानीयStorage या IndexedDB में छवियों को टेक्स्ट स्ट्रिंग के रूप में संग्रहीत करता है।
प्रदर्शन विचार
हालांकि base64 एन्कोडिंग सुविधा प्रदान करती है, इसके साथ व्यापार-ऑफ हैं:
- बढ़ा हुआ फ़ाइल आकार: Base64 एन्कोडिंग डेटा आकार को लगभग 33% बढ़ा देती है।
- ब्राउज़र कैशिंग नहीं: एम्बेडेड छवियाँ अलग छवि फ़ाइलों की तरह अलग से कैश नहीं की जा सकती हैं।
- पार्सिंग ओवरहेड: ब्राउज़र को रेंडरिंग से पहले base64 स्ट्रिंग को डिकोड करना होगा।
- रखरखाव की चुनौतियाँ: एम्बेडेड छवियाँ संदर्भित फ़ाइलों की तुलना में अपडेट करना कठिन होती हैं।
इष्टतम प्रदर्शन के लिए, base64 एन्कोडिंग सामान्यतः केवल छोटे चित्रों (10KB से कम) के लिए अनुशंसित है। बड़े चित्रों को आमतौर पर अलग फ़ाइलों के रूप में बेहतर सेवा दी जाती है जिन्हें सही तरीके से कैश और ऑप्टिमाइज़ किया जा सकता है।
विकल्प
विभिन्न उपयोग के मामलों के लिए base64 एन्कोडिंग के कई विकल्प हैं:
-
SVG इनलाइन एम्बेडिंग: वेक्टर ग्राफिक्स के लिए, इनलाइन SVG अक्सर base64-कोडित SVG की तुलना में बेहतर प्रदर्शन और लचीलापन प्रदान करता है।
-
WebP और आधुनिक छवि प्रारूप: ये JPEG/PNG की तुलना में बेहतर संकुचन प्रदान करते हैं।
-
छवि स्प्राइट्स: कई छोटे छवियों को एकल फ़ाइल में संयोजित करना और CSS स्थिति का उपयोग करना।
-
CDNs (सामग्री वितरण नेटवर्क): उत्पादन साइटों के लिए, अनुकूलित छवियों को CDN से सेवा देना अक्सर अधिक कुशल होता है।
-
डेटा संकुचन: बड़े मात्रा में बाइनरी डेटा को स्थानांतरित करने के लिए, विशेष संकुचन एल्गोरिदम जैसे gzip या Brotli base64 की तुलना में अधिक कुशल होते हैं।
कोड उदाहरण
यहाँ विभिन्न प्रोग्रामिंग भाषाओं में base64-कोडित छवियों के साथ काम करने के उदाहरण दिए गए हैं:
1// JavaScript (ब्राउज़र) में छवि को base64 में परिवर्तित करना
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 // डेटा URL (base64 स्ट्रिंग) के रूप में प्राप्त करें
11 return canvas.toDataURL('image/png');
12}
13
14// एक base64 छवि प्रदर्शित करें
15function displayBase64Image(base64String) {
16 const img = new Image();
17
18 // बिना डेटा URL उपसर्ग वाले स्ट्रिंग्स को संभालें
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# एक छवि फ़ाइल को base64 में परिवर्तित करें
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# base64 को छवि में परिवर्तित करें और सहेजें
12def base64_to_image(base64_string, output_path):
13 # यदि मौजूद हो तो डेटा URL उपसर्ग हटा दें
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# उदाहरण उपयोग
22base64_str = image_to_base64("input.jpg")
23print(f"data:image/jpeg;base64,{base64_str[:30]}...") # स्ट्रिंग का प्रारंभ प्रिंट करें
24
25base64_to_image(base64_str, "output.jpg")
26
1<?php
2// PHP में एक छवि फ़ाइल को base64 में परिवर्तित करें
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// base64 को छवि में परिवर्तित करें और सहेजें
10function base64ToImage($base64String, $outputPath) {
11 // यदि मौजूद हो तो base64 कोडित बाइनरी डेटा को निकालें
12 $imageData = explode(',', $base64String);
13 $imageData = isset($imageData[1]) ? $imageData[1] : $imageData[0];
14
15 // डिकोड करें और सहेजें
16 $data = base64_decode($imageData);
17 file_put_contents($outputPath, $data);
18}
19
20// उदाहरण उपयोग
21$base64Image = imageToBase64('input.jpg');
22echo substr($base64Image, 0, 50) . "...\n"; // स्ट्रिंग का प्रारंभ प्रिंट करें
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 // एक छवि फ़ाइल को base64 में परिवर्तित करें
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 // base64 को छवि में परिवर्तित करें और सहेजें
20 public static void base64ToImage(String base64String, String outputPath) throws IOException {
21 // यदि मौजूद हो तो डेटा URL उपसर्ग हटा दें
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) + "..."); // स्ट्रिंग का प्रारंभ प्रिंट करें
36
37 base64ToImage(base64Image, "output.jpg");
38 }
39}
40
1using System;
2using System.IO;
3using System.Text.RegularExpressions;
4
5class Base64ImageConverter
6{
7 // एक छवि फ़ाइल को base64 में परिवर्तित करें
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 // base64 को छवि में परिवर्तित करें और सहेजें
18 public static void Base64ToImage(string base64String, string outputPath)
19 {
20 // यदि मौजूद हो तो डेटा URL उपसर्ग हटा दें
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) + "..."); // स्ट्रिंग का प्रारंभ प्रिंट करें
34
35 Base64ToImage(base64Image, "output.jpg");
36 }
37}
38
1require 'base64'
2
3# एक छवि फ़ाइल को base64 में परिवर्तित करें
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# base64 को छवि में परिवर्तित करें और सहेजें
11def base64_to_image(base64_string, output_path)
12 # यदि मौजूद हो तो डेटा URL उपसर्ग हटा दें
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# उदाहरण उपयोग
23base64_image = image_to_base64('input.jpg')
24puts base64_image[0, 50] + '...' # स्ट्रिंग का प्रारंभ प्रिंट करें
25
26base64_to_image(base64_image, 'output.jpg')
27
1' Excel VBA फ़ंक्शन जो एक फ़ाइल को base64 में एन्कोड करता है
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' Excel में उपयोग:
27' =FileToBase64("C:\path\to\image.jpg")
28
HTML कार्यान्वयन
यहाँ HTML में सीधे base64 छवि को एम्बेड करने का तरीका है:
1<!-- HTML में सीधे एक base64 छवि एम्बेड करना -->
2<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Base64 कोडित छवि">
3
4<!-- CSS में base64 पृष्ठभूमि छवि का उपयोग करना -->
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
इतिहास
Base64 एन्कोडिंग की जड़ें 1970 के दशक में इलेक्ट्रॉनिक मेल प्रणालियों के विकास में हैं। इसे बाइनरी डेटा को उन प्रणालियों के माध्यम से भेजने की समस्या को हल करने के लिए डिज़ाइन किया गया था जो केवल ASCII टेक्स्ट को संभालने के लिए डिज़ाइन की गई थीं।
एन्कोडिंग योजना को 1987 में RFC 989 के प्रकाशन के साथ औपचारिक रूप दिया गया, जिसने प्राइवेसी एनहांस्ड मेल (PEM) मानक को परिभाषित किया। इसे बाद में RFC 1421 और अन्य संबंधित मानकों में अपडेट किया गया। "base64" शब्द स्वयं इस तथ्य से आता है कि एन्कोडिंग बाइनरी डेटा का प्रतिनिधित्व करने के लिए 64 विभिन्न ASCII वर्णों का उपयोग करती है।
वेब विकास के संदर्भ में, छवियों के लिए base64 एन्कोडिंग 1998 में RFC 2397 में डेटा URI के प्रस्ताव के साथ लोकप्रियता प्राप्त की, जिसने बाइनरी डेटा को HTML, CSS, और अन्य वेब दस्तावेजों में सीधे शामिल करने की अनुमति दी।
2000 के दशक के मध्य में, वेब विकास में base64-कोडित छवियों के उपयोग में वृद्धि हुई क्योंकि डेवलपर्स ने HTTP अनुरोधों को कम करने और पृष्ठ लोड समय में सुधार करने के तरीकों की खोज की। यह तकनीक विशेष रूप से मोबाइल वेब विकास के उदय के दौरान अपनाई गई, जहाँ धीमे मोबाइल कनेक्शनों पर प्रदर्शन के लिए अनुरोधों को कम करना महत्वपूर्ण था।
आज, base64 एन्कोडिंग वेब विकास में एक महत्वपूर्ण उपकरण बना हुआ है, हालांकि इसके उपयोग को अधिक लक्षित किया गया है क्योंकि सर्वोत्तम प्रथाएँ विकसित हुई हैं। आधुनिक दृष्टिकोण आमतौर पर छोटे, महत्वपूर्ण चित्रों के लिए base64 एन्कोडिंग का चयनात्मक रूप से उपयोग करते हैं जबकि बड़े संपत्तियों के लिए अधिक प्रभावी वितरण विधियों का लाभ उठाते हैं जैसे HTTP/2।
संदर्भ
പ്രതികരണം
ഈ ഉപകരണത്തെക്കുറിച്ച് പ്രതികരണം നൽകാൻ പ്രതികരണ ടോസ്റ്റിൽ ക്ലിക്ക് ചെയ്യുക
ബന്ധപ്പെട്ട ഉപകരണങ്ങൾ
നിങ്ങളുടെ പ്രവൃത്തി പ്രവാഹത്തിന് ഉപകാരപ്രദമായ കൂടുതൽ ഉപകരണങ്ങൾ കണ്ടെത്തുക