Base64 Encoding کی وضاحت

Base64 ہر جگہ موجود ہے۔ آپ اسے CSS اور JWT tokens میں دیکھتے ہیں۔ بہت سے ڈویلپرز اسے اس کے کام کرنے کے طریقے کو جانے بغیر استعمال کرتے ہیں۔

Base64 بائنری ڈیٹا کو ٹیکسٹ اسٹرنگ میں تبدیل کر دیتا ہے۔ یہ 64 حروف استعمال کرتا ہے۔ ان میں A-Z، a-z، 0-9، پلس (+) اور سلیش (/) شامل ہیں۔ یہ پیڈنگ (padding) کے لیے برابر کے نشان (=) کا استعمال کرتا ہے۔

Base64 انکرپشن (encryption) نہیں ہے۔ یہ بائنری ڈیٹا کو ٹیکسٹ چینلز کے لیے محفوظ بناتا ہے۔

یہ کیسے کام کرتا ہے:

  • بائنری ڈیٹا کو 3-بائٹ گروپس میں تقسیم کریں۔
  • انہیں چار 6-بٹ چنکس (chunks) میں تقسیم کریں۔
  • ہر چنک کو ایک Base64 کریکٹر سے جوڑیں۔

مثال: لفظ Man، TWFu بن جاتا ہے۔

آپ Base64 کا استعمال ان کاموں کے لیے کرتے ہیں:

  • ای میل اٹیچمنٹس (Email attachments) کے لیے۔
  • HTML میں تصاویر ایمبیڈ (embed) کرنے کے لیے۔
  • JWT tokens کے لیے۔
  • JSON کے ذریعے بائنری ڈیٹا بھیجنے کے لیے۔
  • بنیادی HTTP authentication کے لیے۔

Javascript اسے natively سپورٹ کرتا ہے۔ انکوڈ کرنے کے لیے btoa استعمال کریں۔ ڈیکوڈ کرنے کے لیے atob استعمال کریں۔

Node.js فائلوں کے لیے data.toString('base64') استعمال کرتا ہے۔

کچھ سسٹمز Base64url استعمال کرتے ہیں۔ یہ ورژن URLs کے لیے محفوظ ہے۔ یہ پلس (+) کو مائنس (-) سے اور سلیش (/) کو انڈر اسکور (_) سے بدل دیتا ہے۔ یہ پیڈنگ کو ختم کر دیتا ہے۔

ان نکات کو یاد رکھیں:

  • Base64 انکوڈنگ ہے۔ یہ سیکیورٹی نہیں ہے۔
  • آؤٹ پٹ 33 فیصد بڑا ہوتا ہے۔
  • اسے ٹیکسٹ چینلز کے ذریعے بائنری ڈیٹا بھیجنے کے لیے استعمال کریں۔
  • URLs کے لیے Base64url استعمال کریں۔

ماخذ: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh