बेस64 का आविष्कार क्यों किया गया
कई टेक्स्ट-आधारित प्रोटोकॉल - जिनमें SMTP (ईमेल), HTTP हेडर और HTML शामिल हैं - केवल कुछ सुरक्षित वर्णों को संभालने के लिए डिज़ाइन किए गए थे। बाइनरी डेटा (चित्र, फ़ाइलें, निष्पादन योग्य कोड) में मनमाने बाइट मान होते हैं जो प्रोटोकॉल नियंत्रण वर्णों के साथ टकराव करते हैं।
समस्या: बाइनरी छवि फ़ाइल वाले ईमेल में बाइट्स हो सकते हैं जो प्रोटोकॉल नियंत्रण वर्णों से मेल खाते हैं (जैसे ASCII कोड 13 = कैरिज रिटर्न, कोड 10 = लाइन फ़ीड)। इन बाइट्स को ईमेल प्रोटोकॉल कमांड के रूप में गलत समझा जाएगा, जिससे अनुलग्नक दूषित हो जाएगा।
समाधान: बेस64 किसी भी बाइनरी डेटा को 64 प्रिंट करने योग्य ASCII वर्णों (ए-जेड, ए-जेड, 0-9, +, /) के सबसेट में परिवर्तित करता है जो सभी टेक्स्ट-आधारित प्रोटोकॉल में सुरक्षित हैं। बेस64 (आरएफसी 2045) के लिए मूल आरएफसी एमआईएमई ईमेल अनुलग्नकों के लिए लिखा गया था।

बेस64 एनकोडिंग कैसे काम करती है: एल्गोरिथम
बेस64 एक समय में 3 बाइट्स (24 बिट्स) को संसाधित करके और 4 बेस64 कैरेक्टर (24 बिट्स → 4 × 6 बिट्स) उत्पन्न करके बाइनरी डेटा को परिवर्तित करता है:
- बाइनरी डेटा के 3 बाइट्स लें:
मैन= ASCII 77, 97, 110 =01001101 01100001 01101110 - 24 बिट्स को चार 6-बिट समूहों में विभाजित करें:
010011 010110 000101 101110 - प्रत्येक 6-बिट समूह मानक वर्णमाला का उपयोग करके बेस64 वर्ण पर मैप करता है:
- 010011 = 19 = 'टी' - 010110 = 22 = 'डब्ल्यू' - 000101 = 5 = 'एफ' - 101110 = 46 = 'यू'
- परिणाम: "आदमी" → "TWFu"
संपूर्ण बेस64 वर्णमाला: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

सामान्य बेस64 उपयोग के मामले
1. ईमेल अनुलग्नक (MIME) ईमेल प्रोटोकॉल टेक्स्ट-आधारित है। फ़ाइल अनुलग्नकों को ईमेल संदेश में शामिल करने से पहले बेस64-एन्कोड किया जाता है।
2. HTML/CSS में डेटा URL छोटी छवियों और फ़ॉन्ट को बेस64-एन्कोडेड डेटा URL के रूप में सीधे HTML या CSS में एम्बेड किया जा सकता है:
<img src="data:image/png;base64,iVBORw0KGgo..." alt="Embedded image">
यह छोटे आइकनों के लिए अतिरिक्त HTTP अनुरोध को समाप्त कर देता है।
3. एपीआई प्रमाणीकरण HTTP बेसिक प्रमाणीकरण बेस64 के रूप में क्रेडेंशियल्स को एन्कोड करता है: उपयोगकर्ता नाम: पासवर्ड → dXNlcm5hbWU6cGFzc3dvcmQ= (नोट: Base64 है एन्क्रिप्शन नहीं - केवल HTTPS पर उपयोग करें)
4. JSON बाइनरी डेटा के साथ पेलोड करता है। टूल मानक बेस64 (+/ वर्णों के साथ) और यूआरएल-सुरक्षित बेस64 वेरिएंट (+/ के बजाय -_ के साथ) को संभालता है। अपने डिजिटल वर्कफ़्लो को बढ़ाने के लिए इस विषय क्लस्टर से पूरक ट्यूटोरियल और उपयोगिताओं का अन्वेषण करें:
टूलडॉल्फेन पर बेस64 को एन्कोडिंग और डिकोड करना


अनुशंसित सहयोगी मार्गदर्शिकाएँ