بیس64 انکوڈنگ کیسے کام کرتا ہے

اگر انٹرنیٹ انفارمیشن ہائی وے ہے، تو ای میل کے لئے راستہ ایک تنگ رانی ہے. صرف بہت چھوٹی چھوٹی گاڑییں گزر سکتی ہیں.

ای میل کا ٹرانسپورٹ نظام صرف سادہ ASCII متن کے لئے ڈیزائن کیا گیا ہے. دیگر زبانوں میں یا مباحثہ شدہ فائلوں میں متن بھیجنے کی کوشش کر رہی ہے جیسے کھودنے کے ذریعے ایک ٹرک حاصل ہو.

بگ ٹرک ریو کے ذریعے کس طرح جاتا ہے؟

اس کے بعد آپ کو ایک چھوٹا سا کھودنے کے ذریعے ایک بڑا ٹرک کس طرح بھیجتا ہے؟ تمہیں اسے ایک اختتام پر ٹکڑے ٹکڑے ٹکڑے کرنے کے لۓ لے جانا ہے، ٹکڑے ٹکڑوں کے ذریعہ ٹھوس کے ذریعے منتقل کرنا اور دوسرے اختتام پر ٹکڑے ٹکڑے سے ٹرک تعمیر کرنا ہے.

اسی طرح ہوتا ہے جب آپ ای میل کے ذریعہ فائل منسلک بھیجتے ہیں . ایک پروسیسنگ میں بائنری ڈیٹا کے طور پر جانا جاتا ہے جس میں ASCII متن میں تبدیل ہوتا ہے، جو مسائل کے بغیر ای میل میں منتقل کیا جاسکتا ہے. وصول کنندہ کے اختتام پر، اعداد و شمار کو ختم کر دیا گیا ہے اور اصل فائل کو دوبارہ تعمیر کیا جاتا ہے.

سادہ ASCII متن کے طور پر خود مختار ڈیٹا انکوڈنگ کا ایک طریقہ بیس64 ہے. یہ سادہ متن کے علاوہ ڈیٹا کو بھیجنے کے لئے MIME معیاری کی طرف سے ملازمین کی ایک تخنیک ہے.

بیس 64 ریسکیو

بیس 64 انکوڈنگ، تین بائٹس، ہر ایک آٹھ بٹس پر مشتمل ہے، اور ASCII معیار میں چار پرنٹ حروف کے طور پر ان کی نمائندگی کرتا ہے. یہ ضروری ہے کہ دو مرحلے میں.

پہلا قدم تین بائٹس کو چار نمبروں میں چھ بٹس میں تبدیل کرنا ہے. ASCII معیار میں ہر کردار 7 بٹس پر مشتمل ہے. بیس 64 صرف چھ بٹس (2 ^ 6 = 64 حروف کے مطابق) کا استعمال کرتا ہے تاکہ انکوائری ڈیٹا کو پرنٹ کریں اور انسانی طور پر پڑھنے کے قابل ہو. ASCII میں دستیاب خصوصی حروف میں سے کوئی بھی استعمال نہیں کیا جاتا ہے.

64 حروف (اس وجہ سے Base64) 10 ہندسوں، 26 نچلے حروف، 26 اوپری حروف کے ساتھ ساتھ '+' اور '/' ہیں.

اگر مثال کے طور پر، تین بائٹس 155، 162 اور 233 ہیں، اسی (اور خوفناک) بٹ سٹریم 100110111010001011101001 ہے، جس میں باری میں 6 بٹ اقدار 38، 58، 11 اور 41 سے مطابقت رکھتا ہے.

بیس نمبر انکوڈنگ ٹیبل کا استعمال کرتے ہوئے یہ نمبر دوسرے مرحلے میں ASCII حروف میں تبدیل کردیئے جاتے ہیں. ہمارے مثال کے 6 بٹ اقدار ASCII ترتیب "m6Lp" میں ترجمہ کرتے ہیں.

یہ دو مرحلے کے عمل کو انکوڈ کر رہے ہیں بائٹ کے پورے ترتیب پر لاگو کیا جاتا ہے. انکوڈ ڈیٹا کو مناسب طریقے سے پرنٹ کیا جاسکتا ہے اور کسی بھی میل سرور کی حد کی حد کی حد سے زیادہ نہیں ہوسکتا ہے، لائن لائن کی لمبائی 76 حروف سے نیچے رکھتی ہے. نیا لائن حروف دوسرے دوسرے اعداد و شمار کی طرح انکوڈ کر رہے ہیں.

Endgame کو حل کرنے

انکوڈنگ عمل کے اختتام پر، ہم ایک مسئلہ میں چل سکتے ہیں. اگر بائٹ میں اصل ڈیٹا کا سائز تین سے زیادہ ہے تو سب کچھ ٹھیک کام کرتا ہے. اگر یہ نہیں ہے تو، ہم ایک یا دو 8 بٹ بائٹس کے ساتھ ختم ہوسکتے ہیں. مناسب انکوڈنگ کے لئے، ہمیں بالکل تین بائٹس کی ضرورت ہے.

حل 3 بائٹ گروپ بنانے کے لئے '0' کی قیمت کے ساتھ کافی بائٹس کو ضم کرنا ہے. اگر ہمارے پاس اعداد و شمار کے ایک اضافی بائٹ ہے تو دو ایسے اقدار کو اطلاق کیا جاتا ہے، ان کو دو اضافی بٹس کے لئے منسوب کیا جاتا ہے.

بے شک، یہ مصنوعی پٹرینگ '0' ذیل میں انکوڈنگ ٹیبل کا استعمال کرتے ہوئے انکوڈ نہیں کیا جا سکتا. انہیں 65 ویں کردار کی طرف سے نمائندگی کرنا لازمی ہے.

بیس64 پیڈٹنگ کردار '=' ہے. قدرتی طور پر، انکوڈ ڈیٹا کے اختتام پر یہ صرف ظاہر ہوتا ہے.

بیس64 انکوڈنگ ٹیبل

قدر چار قدر چار قدر چار قدر چار
0 A 16 ق 32 جی 48 w
1 بی 17 آر 33 ح 49 ایکس
2 سی 18 ایس 34 میں 50 y
3 ڈی 19 ٹی 35 ج 51 ز
4 ای 20 یو 36 ک 52 0
5 ایف 21 وی 37 ایل 53 1
6 جی 22 ڈبلیو 38 م 54 2
7 ایچ 23 ایکس 39 ن 55 3
8 میں 24 Y 40 o 56 4
9 ج 25 Z 41 پی 57 5
10 K 26 ایک 42 ق 58 6
11 ایل 27 ب 43 آر 59 7
12 ایم 28 سی 44 s 60 8
13 ن 29 د 45 ٹی 61 9
14 اے 30 ای 46 آپ 62 +
15 پی 31 f 47 v 63 /