ڪئين Base64 انڪوڊنگ ڪم

جيڪڏهن انٽرنيٽ ڄاڻو روڊ آهي، پوء اي ميل لاء رستو هڪ تنگ روي آهي. فقط ننڍا ننڍا ڪارٽون نڪري سگهن ٿا.

اي ميل جو ٽرانسپورٽ نظام صرف واضح ASCII متن جي لاء ٺهيل آهي. ڪوشش ڪري ٻين ٻولين يا مباحثو فائلن ۾ متن موڪلڻ لاء روي ذريعي ٽرڪ حاصل ڪرڻ وانگر.

بگ ٽرڪ کي روي ذريعي هليو ويندو آهي؟

پوء ڪيئن توهان هڪ ننڍڙي روي ذريعي وڏي ٽرڪ موڪلي سگهو ٿا؟ توهان کي هڪڙي آخر ۾ ٽڪر ٽڪر ڪرڻو آهي، رين ذريعي ٽڪر ٽڪريندا آهن ۽ ٽرڪ کي ٻي پڇاڙي کان ٻي پڇاڙي کان وٺي.

ساڳئي وقت جڏهن توهان اي ميل ذريعي هڪ فائيل منسلڪ موڪلي سگهو ٿا. هڪ عمل ۾ بائنري ڊيٽا انڪوڊنگ جي طور تي سڃاتو ويندو آهي ASCII متن ڏانهن تبديل ٿي ويو آهي، جيڪا مسئلي کان سواء اي ميل ۾ منتقل ٿي سگهي ٿو. وصول ڪندڙ جي اختتام تي، ڊيٽا کي ختم ٿيل آهي ۽ اصلي فائل ٻيهر تعمير ڪيو ويندو آهي.

ھڪڙي طريقي سان پنھنجي سرشتي واري ڊيٽا انڪوڊنگ جي طور تي ASCII متن جو بنياد Base64 آھي. اهو MIME معيار پاران ملازمت ڪيل طريقن مان هڪ آهي انهيء سادي متن کانسواء ٻئي ڊيٽا کي موڪلڻ لاء.

ریسکيو کي بي بنياد 64

Base64 انڪوڊنگ ٽن بائيوٽ تي مشتمل آهي، هر هڪ اٺ بٽ مشتمل هوندي آهي، ۽ ان کي ASCII معيار ۾ چار چئن پرنٽنگ اکرن وانگر نمائندگي ڪندو آهي. اهو اهو ضروري آهي ته ٻن قدمن ۾.

پهرين قدم ٽن بيتن کي چار انگن جي ڇهه بٽ تبديل ڪرڻ لاء آهي. ASCII معيار ۾ هر هڪ ڪردار 7 بٽن تي مشتمل آهي. Base64 صرف 6 بٽن کي استعمال ڪري ٿو (2 ^ 6 = 64 اکرن جي حساب سان) انڪوڊ ٿيل ڊيٽا کي پرنٽنگ ۽ انساني طور تي پڙهڻ واري هجي. ASCII ۾ موجود ڪوبه خاص اکر موجود ناهي.

64 اکرن وارا (هن جو نالو Base64) 10 اڪيچ، 26 ننڍڙن ڪردارن، 26 وڏن اکرن جي حرفن سان گڏ '+' ۽ '/' آهن.

مثال طور، ٽي ٽي بائيو 155، 162 ۽ 233 تي مشتمل آهي، ساڳئي (۽ خوفزده) بٽ وهڪرو 100110111010001011101001 آهي، جنهن ۾ ڦيرو 6-bit قدر 38، 58، 11 ۽ 41 مطابق هوندو آهي.

هنن نمبر Base64 انڪوڊنگ ٽيبل استعمال ڪندي ٻئي قدم ۾ ASCII ڪردارن ۾ تبديل ڪيا ويا آهن. اسان جي مثال جي 6-بيتن جي قيمت ASCII تسلسل ۾ ترجمو "m6Lp".

هي ٻه قدم عمل باڊيڪٽ جو مجموعي ترتيب تي استعمال ٿيل آهي جيڪا انڪوڊ ٿيل آهي. انڪوڊ ٿيل ڊيٽا کي يقيني بڻائي سگهجي صحيح طور تي ڇپائي سگهجي ٿو ۽ ڪنهن به ميل سرور جي ڊيگهه جي حد کان وڌيڪ نه آهي، 76 حرف کان هيٺ ڏنل لين جي لڪير رکڻ لاء نون لائن ڪردارن کي داخل ڪيو ويو آهي. نون لائنون اکرن کي ٻين سڀني ڊيٽا وانگر انڪوڊ ٿيل آهن.

Endgame کي حل ڪرڻ

انڪوڊنگ جي عمل جي اختتام تي، اسان شايد هڪ مسئلو ۾ هلون. جيڪڏهن ڊيٽابيس جي اصل ڊيٽا بيتن ۾ هڪ ٽي جي گهڻن آهي، سڀ ڪجهه ٺيڪ ڪم ڪري ٿو. جيڪڏهن اهو ناهي، اسان شايد هڪ يا ٻه 8 بٽ بائٽ سان ختم ڪري سگهون ٿا. مناسب انڪوڊنگ لاء، اسان وٽ بلڪل 3 باٽن جي ضرورت آهي.

حل ڪرڻ بائيٽ بائٽين کي هڪ 3 بائيٽ گروپ ٺاهڻ لاء '0' جي قيمت سان جمع ڪرڻ آهي. جيڪڏهن اسان وٽ ڊيٽا جي هڪ اضافي بيتن کي ٻه اهڙيون قيمتون منظور ڪيون وينديون آهن، هڪ ٻه ٻن بائيوٽس تي عمل ڪيو ويندو آهي.

يقينا، هي مصنوعي پيچرو '0 جي هيٺ ڏنل انڪوڊنگ ٽيبل استعمال ڪندي انڪوڊنگ نٿو ڪري سگھجي. انهن کي 65 هين ڪردار جي نمائندگي ڪرڻ گهرجي.

Base64 پيڊنگ جي ڪردار '=' آهي. قدرتي طور تي، اهو صرف انڪوڊ ٿيل ڊيٽا جي آخر ۾ ظاهر ڪري سگهجي ٿو.

Base64 انڪوڊنگ ٽيبل

ويليو چار ويليو چار ويليو چار ويليو چار
0 الف 16 سوال 32 g 48 w
1 B 17 آر 33 h 49 x
2 سي 18 ايس 34 مان 50 y
3 ڊي 19 T 35 j 51 z
4 اي 20 U 36 k 52 0
5 F 21 V 37 ايل 53 1
6 G 22 W 38 ميم 54 2
7 ايڇ 23 ايڪس 39 n 55 3
8 مان 24 Y 40 o 56 4
9 ج 25 Z 41 . 57 5
10 ڪي 26 الف 42 q 58 6
11 ايل 27 b 43 ر 59 7
12 ميم 28 سي 44 s 60 8
13 ن 29 d 45 t 61 9
14 اي 30 e 46 تون 62 +
15 P 31 f 47 v 63 /