🛠️

Whiz Tools

Build • Create • Innovate

بیس64 امیج ڈیکوڈر اور ویوئر | بیس64 کو امیجز میں تبدیل کریں

فوری طور پر بیس64 کوڈڈ امیج سٹرنگز کو ڈیکوڈ اور پیش کریں۔ JPEG، PNG، GIF اور دیگر عام فارمیٹس کی حمایت کرتا ہے اور غلط ان پٹ کے لیے ایرر ہینڈلنگ فراہم کرتا ہے۔

بیس64 امیج ڈیکوڈر اور ویور

ایک بیس64 انکوڈڈ امیج سٹرنگ پیسٹ کریں اور امیج دیکھنے کے لیے اسے ڈیکوڈ کریں۔

امیج پیش منظر

دکھانے کے لیے کوئی امیج نہیں ہے۔ اسے خود بخود دیکھنے کے لیے بیس64 سٹرنگ پیسٹ کریں۔

JPEG، PNG، GIF اور دیگر عام امیج فارمیٹس کی حمایت کرتا ہے۔

ہدایات

1. اوپر دیے گئے ٹیکسٹ ایریا میں بیس64 انکوڈڈ امیج سٹرنگ پیسٹ کریں۔

2. جیسے ہی آپ ٹائپ کریں گے، امیج خود بخود ڈیکوڈ ہو جائے گی، یا 'امیج ڈیکوڈ کریں' بٹن پر کلک کریں۔

3. ڈیکوڈ شدہ امیج نیچے پیش منظر کے علاقے میں ظاہر ہوگی۔

نوٹ: بہترین نتائج کے لیے سٹرنگ کا آغاز 'data:image/' سے ہونا چاہیے، لیکن یہ ٹول بغیر اس پیشوند کے سٹرنگز کو بھی ڈیکوڈ کرنے کی کوشش کرے گا۔

📚

دستاویزات

بیس64 امیج ڈیکوڈر اور ویوئر

تعارف

بیس64 ایک بائنری سے ٹیکسٹ انکوڈنگ اسکیم ہے جو بائنری ڈیٹا کو ASCII سٹرنگ فارمیٹ میں ظاہر کرتی ہے۔ یہ عام طور پر HTML، CSS، JavaScript، JSON، اور دیگر ٹیکسٹ پر مبنی فارمیٹس میں امیج ڈیٹا کو براہ راست شامل کرنے کے لیے استعمال ہوتی ہے جہاں بائنری ڈیٹا کو براہ راست شامل نہیں کیا جا سکتا۔ یہ ٹول آپ کو بیس64 سے انکوڈ کردہ امیج سٹرنگز کو ڈیکوڈ کرنے اور نتیجے میں حاصل کردہ امیجز کو براہ راست اپنے براؤزر میں دیکھنے کی اجازت دیتا ہے۔

بیس64 انکوڈنگ اصل بائنری کے مقابلے میں تقریباً 33% ڈیٹا کے حجم میں اضافہ کرتی ہے، لیکن یہ امیجز کو براہ راست ٹیکسٹ پر مبنی دستاویزات میں شامل کرنے کے قابل بناتی ہے بغیر الگ فائل ڈاؤن لوڈ کی ضرورت کے۔ یہ خاص طور پر چھوٹی امیجز جیسے آئیکنز، لوگوز، یا سادہ گرافکس کے لیے مفید ہو سکتا ہے جہاں شامل کرنے کی سہولت حجم میں اضافے سے زیادہ اہم ہوتی ہے۔

ہمارا بیس64 امیج ڈیکوڈر ٹول ایک سادہ انٹرفیس فراہم کرتا ہے جہاں آپ بیس64 سے انکوڈ کردہ امیج سٹرنگ کو پیسٹ کر سکتے ہیں اور فوری طور پر ڈیکوڈ کردہ امیج دیکھ سکتے ہیں۔ یہ تمام عام امیج فارمیٹس جیسے JPEG، PNG، GIF، WebP، اور SVG کی حمایت کرتا ہے، اور یہ دونوں ڈیٹا URL فارمیٹ (جس میں data:image/... پیش فکس ہوتا ہے) اور خام بیس64 سٹرنگز کو سنبھال سکتا ہے۔

تکنیکی تفصیلات

بیس64 انکوڈنگ فارمیٹ

بیس64 انکوڈنگ بائنری ڈیٹا کو 64 ASCII کرداروں (A-Z، a-z، 0-9، +، اور /) کے سیٹ میں تبدیل کرتی ہے، جس میں = پیڈنگ کے لیے استعمال ہوتا ہے۔ ویب پر امیجز کے لیے، بیس64 ڈیٹا عام طور پر ایک ڈیٹا URL کے طور پر مندرجہ ذیل ساخت میں فارمیٹ کیا جاتا ہے:

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

مثال کے طور پر، ایک بیس64 سے انکوڈ کردہ PNG امیج کچھ اس طرح نظر آ سکتی ہے:

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

اس فارمیٹ کے اجزاء ہیں:

  • data: - URL اسکیم
  • image/png - ڈیٹا کی MIME قسم
  • ;base64 - انکوڈنگ کا طریقہ
  • , - ہیڈر اور ڈیٹا کے درمیان ایک جداکار
  • اصل بیس64 سے انکوڈ کردہ ڈیٹا

ڈیکوڈنگ کا عمل

جب بیس64 امیج سٹرنگ کو ڈیکوڈ کیا جاتا ہے تو درج ذیل مراحل ہوتے ہیں:

  1. یہ سٹرنگ کو پارس کیا جاتا ہے تاکہ یہ معلوم ہو سکے کہ آیا اس میں ایک ڈیٹا URL پیش فکس موجود ہے
  2. اگر پیش فکس موجود ہو تو MIME قسم کو نکالا جاتا ہے تاکہ امیج کی شکل کا تعین کیا جا سکے
  3. بیس64 ڈیٹا کا حصہ الگ کیا جاتا ہے اور بائنری ڈیٹا میں ڈیکوڈ کیا جاتا ہے
  4. بائنری ڈیٹا کو ایک Blob یا آبجیکٹ URL میں تبدیل کیا جاتا ہے جو امیج کے طور پر دکھایا جا سکتا ہے

اگر ان پٹ میں ڈیٹا URL پیش فکس شامل نہیں ہے تو ڈیکوڈر اسے خام بیس64 ڈیٹا کے طور پر سمجھنے کی کوشش کرتا ہے اور ڈیکوڈ کردہ بائنری ہیڈر سے امیج کی قسم کا اندازہ لگاتا ہے یا ڈیفالٹ کے طور پر PNG پر واپس آتا ہے۔

سپورٹ کردہ امیج فارمیٹس

یہ ٹول تمام عام ویب امیج فارمیٹس کی حمایت کرتا ہے:

فارمیٹMIME قسمعام استعمال کے کیس
JPEGimage/jpegتصاویر، پیچیدہ امیجز جن میں بہت سے رنگ ہوں
PNGimage/pngامیجز جن میں شفافیت کی ضرورت ہو، اسکرین شاٹس، گرافکس
GIFimage/gifسادہ متحرک تصاویر، محدود رنگ کی امیجز
WebPimage/webpجدید فارمیٹ جو JPEG/PNG سے بہتر کمپریشن فراہم کرتا ہے
SVGimage/svg+xmlویکٹر گرافکس، اسکیل ایبل آئیکنز اور عکاسی

استعمال کے کیسز

بیس64 سے انکوڈ کردہ امیجز کے کئی عملی استعمالات ہیں ویب ڈویلپمنٹ اور اس سے آگے:

  1. HTML/CSS/JS میں امیجز شامل کرنا: چھوٹی امیجز کو اپنے کوڈ میں براہ راست شامل کرکے HTTP درخواستوں کو کم کرتا ہے، جو چھوٹی امیجز کے لیے صفحے کے لوڈ ہونے کے وقت کو بہتر بنا سکتا ہے۔

  2. ای میل ٹیمپلیٹس: یہ اس بات کو یقینی بناتا ہے کہ امیجز ای میل کلائنٹس میں صحیح طور پر دکھائی دیں جو بطور ڈیفالٹ بیرونی امیجز کو بلاک کرتے ہیں۔

  3. سنگل فائل ایپلی کیشنز: خود مختار HTML ایپلیکیشنز بناتا ہے جہاں تمام وسائل ایک ہی فائل میں شامل ہوتے ہیں۔

  4. API جوابات: امیج ڈیٹا کو براہ راست JSON جوابات میں شامل کرتا ہے بغیر الگ امیج اینڈ پوائنٹس کی ضرورت کے۔

  5. CSS میں ڈیٹا URIs: چھوٹے آئیکنز اور پس منظر کی امیجز کو براہ راست CSS فائلوں میں شامل کرتا ہے۔

  6. کینوس کی ہیرا پھیری: کینوس امیج ڈیٹا کو محفوظ کرنے اور منتقل کرنے کی سہولت فراہم کرتا ہے۔

  7. آف لائن ایپلی کیشنز: لوکل اسٹوریج یا IndexedDB میں امیجز کو ٹیکسٹ سٹرنگز کے طور پر ذخیرہ کرتا ہے۔

کارکردگی کے پہلوؤں

اگرچہ بیس64 انکوڈنگ سہولت فراہم کرتی ہے، لیکن اس کے ساتھ کچھ تجارتی نقصانات بھی ہیں:

  • فائل کے حجم میں اضافہ: بیس64 انکوڈنگ تقریباً 33% ڈیٹا کے حجم میں اضافہ کرتی ہے۔
  • براؤزر کی کیشنگ نہیں: شامل کردہ امیجز کو الگ الگ امیج فائلوں کی طرح کیش نہیں کیا جا سکتا۔
  • پارسنگ کا اوور ہیڈ: براؤزرز کو رینڈر کرنے سے پہلے بیس64 سٹرنگ کو ڈیکوڈ کرنا ہوگا۔
  • نگہداشت کے چیلنجز: شامل کردہ امیجز کو اپ ڈیٹ کرنا الگ حوالہ دی گئی فائلوں کے مقابلے میں زیادہ مشکل ہے۔

بہترین کارکردگی کے لیے، بیس64 انکوڈنگ عام طور پر صرف چھوٹی امیجز (10KB سے کم) کے لیے سفارش کی جاتی ہے۔ بڑی امیجز کو عام طور پر علیحدہ فائلوں کے طور پر بہتر طور پر پیش کیا جاتا ہے جو صحیح طور پر کیش اور بہتر بنائی جا سکتی ہیں۔

متبادل

بیس64 انکوڈنگ کے مختلف استعمالات کے لیے کئی متبادل موجود ہیں:

  1. SVG ان لائن ایمبیڈنگ: ویکٹر گرافکس کے لیے، ان لائن SVG اکثر بیس64 سے انکوڈ کردہ SVG کے مقابلے میں بہتر کارکردگی اور لچک فراہم کرتا ہے۔

  2. WebP اور جدید امیج فارمیٹس: یہ بیس64 سے انکوڈ کردہ JPEG/PNG کے مقابلے میں بہتر کمپریشن فراہم کرتے ہیں۔

  3. امیج اسپرائٹس: کئی چھوٹی امیجز کو ایک ہی فائل میں یکجا کرنا اور CSS کی پوزیشننگ کا استعمال کرنا۔

  4. CDNs (مواد کی ترسیل کے نیٹ ورکس): پروڈکشن سائٹس کے لیے، بہتر امیجز کو CDN سے پیش کرنا اکثر زیادہ موثر ہوتا ہے۔

  5. ڈیٹا کمپریشن: بڑی مقدار میں بائنری ڈیٹا کی منتقلی کے لیے، خصوصی کمپریشن الگورڈمز جیسے gzip یا Brotli بیس64 سے زیادہ موثر ہیں۔

کوڈ کے نمونے

یہاں مختلف پروگرامنگ زبانوں میں بیس64 سے انکوڈ کردہ امیجز کے ساتھ کام کرنے کے مثالیں ہیں:

1// جاوا اسکرپٹ میں ایک امیج کو بیس64 میں تبدیل کرنا (براؤزر)
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 (بیس64 سٹرنگ) کے طور پر حاصل کریں
11  return canvas.toDataURL('image/png');
12}
13
14// بیس64 امیج دکھائیں
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

HTML عمل درآمد

یہاں بیس64 امیج کو براہ راست HTML میں شامل کرنے کا طریقہ ہے:

1<!-- HTML میں براہ راست بیس64 امیج شامل کرنا -->
2<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="بیس64 انکوڈ کردہ امیج">
3
4<!-- CSS کے ساتھ بیس64 پس منظر کی امیج کا استعمال -->
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

تاریخ

بیس64 انکوڈنگ کی جڑیں 1970 کی دہائی میں الیکٹرانک میل سسٹمز کی ترقی میں ہیں۔ یہ ان مسائل کو حل کرنے کے لیے ڈیزائن کیا گیا تھا جو بائنری ڈیٹا کو ان سسٹمز کے ذریعے منتقل کرنے کے لیے تھے جو صرف ASCII ٹیکسٹ کو سنبھالنے کے لیے ڈیزائن کیے گئے تھے۔

انکوڈنگ اسکیم کو 1987 میں RFC 989 کی اشاعت کے ساتھ رسمی شکل دی گئی، جس نے پرائیویسی اینہانسڈ میل (PEM) معیاری کو بیان کیا۔ اس کے بعد RFC 1421 اور دیگر متعلقہ معیارات میں اسے اپ ڈیٹ کیا گیا۔ اصطلاح "بیس64" خود اس حقیقت سے آتی ہے کہ انکوڈنگ 64 مختلف ASCII کرداروں کا استعمال کرتی ہے تاکہ بائنری ڈیٹا کی نمائندگی کی جا سکے۔

ویب ڈویلپمنٹ کے تناظر میں، بیس64 انکوڈ کردہ امیجز کی مقبولیت 1998 میں ڈیٹا URIs کے آنے کے ساتھ بڑھی، جس کی تجویز RFC 2397 میں پہلی بار دی گئی۔ اس نے بائنری ڈیٹا کو براہ راست HTML، CSS، اور دیگر ویب دستاویزات میں شامل کرنے کی اجازت دی۔

ویب ڈویلپمنٹ میں بیس64 سے انکوڈ کردہ امیجز کے استعمال میں 2000 کی دہائی کے وسط میں اضافہ ہوا جب ڈویلپرز نے HTTP درخواستوں کو کم کرنے اور صفحے کے لوڈ ہونے کے وقت کو بہتر بنانے کے طریقے تلاش کیے۔ اس تکنیک کو خاص طور پر اس وقت اپنایا گیا جب موبائل ویب ڈویلپمنٹ کا عروج ہوا، جہاں سست موبائل کنکشنز پر کارکردگی کے لیے درخواستوں کو کم کرنا بہت ضروری تھا۔

آج، بیس64 انکوڈنگ ویب ڈویلپمنٹ میں ایک اہم ٹول کے طور پر باقی رہتا ہے، اگرچہ اس کا استعمال زیادہ ہدف بن گیا ہے کیونکہ بہترین طریقوں میں ترقی ہوئی ہے۔ جدید طریقے عام طور پر بیس64 انکوڈنگ کو چھوٹی، اہم امیجز کے لیے منتخبively استعمال کرتے ہیں جبکہ بڑے اثاثوں کے لیے زیادہ موثر ترسیل کے طریقوں جیسے HTTP/2 کا فائدہ اٹھاتے ہیں۔

حوالہ جات

  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. بیس64 امیج انکوڈر
  6. کیا میں استعمال کر سکتا ہوں: ڈیٹا URIs
  7. ویب کی کارکردگی: امیجز کو بیس64 انکوڈ کرنے کا وقت (اور کب نہیں)