Base64 एन्कोडिंग क्या है? वास्तविक बाइट्स वाला पहला उदाहरण

Base64 के उद्देश्य को समझें, हेलो को SGVsbG8= बनते देखें, और एन्कोडिंग और एन्क्रिप्शन के बीच अंतर को पहचानें।

Base64 सामान्य पाठ वर्णों के साथ बाइनरी डेटा का प्रतिनिधित्व करने का एक तरीका है। एक चित्र, एक दस्तावेज़ या पाठ का एक टुकड़ा सभी को बाइट्स के रूप में दर्शाया जा सकता है। जब किसी सिस्टम को टेक्स्ट फ़ील्ड के अंदर उन बाइट्स की आवश्यकता होती है, तो Base64 एक प्रतिवर्ती वर्तनी प्रदान करता है जिसे रिसीवर बाद में डिकोड कर सकता है।

एक छोटा सा उदाहरण

पाठ Hello पाँच ASCII बाइट्स हैं। उन बाइट्स को एन्कोड करने से उत्पादन होता है SGVsbG8=. उस मान को डिकोड करने से वही पांच बाइट्स मिलते हैं, जिन्हें बाद में मूल पाठ के रूप में पढ़ा जा सकता है। बराबर चिह्न एन्कोडिंग के अंतिम समूह से संबंधित है; यह हेलो शब्द का हिस्सा नहीं है.

Text:           Hello
Bytes in Hex:   48 65 6c 6c 6f
Base64:         SGVsbG8=
Decoded bytes:  48 65 6c 6c 6f

एनकोडर में उदाहरण आज़माएं, परिणाम को डिकोडर में कॉपी करें, और लौटाए गए टेक्स्ट की तुलना करें। फिर एक चीनी चरित्र या इमोजी आज़माएँ। टेक्स्ट को पहले UTF-8 जैसे कैरेक्टर एन्कोडिंग का उपयोग करके बाइट्स बनना चाहिए; Base64 स्वयं किसी भाषा या वर्ण सेट को परिभाषित नहीं करता है।

जहां आपका सामना होता है

सामान्य उदाहरणों में JSON में एक बाइनरी फ़ील्ड, डेटा URI में एक इनलाइन छवि और कुछ टोकन के पढ़ने योग्य भाग शामिल हैं। आसपास का प्रारूप संदर्भ प्रदान करता है। Base64 स्ट्रिंग स्वयं आपको मूल फ़ाइल नाम, MIME प्रकार, वर्ण एन्कोडिंग या सामग्री भरोसेमंद है या नहीं बताती है।

एक डेटा URI जैसे एक उपसर्ग जोड़ता है data:image/png;base64,. वह उपसर्ग पेलोड का वर्णन करता है लेकिन Base64 वर्णमाला का हिस्सा नहीं है। कुछ डिकोडर रैपर को समझते हैं; अन्य लोग केवल अल्पविराम के बाद वाले भाग की अपेक्षा करते हैं। अपरिचित पात्रों को यादृच्छिक रूप से हटाने के बजाय उचित टूल या मोड चुनें।

तीन सामान्य ग़लतफ़हमियाँ

पहला, Base64 एन्क्रिप्शन नहीं है: इसे डिकोड करने के लिए किसी रहस्य की आवश्यकता नहीं है। दूसरा, इससे फ़ाइलें छोटी नहीं होतीं; साधारण गद्देदार आउटपुट मूल बाइट्स से लगभग एक तिहाई बड़ा होता है। तीसरा, प्रत्येक डिकोड किया गया परिणाम टेक्स्ट नहीं है। एक छवि टेक्स्ट बॉक्स में बकवास की तरह दिखने वाले बाइट्स को सही ढंग से डिकोड कर सकती है।

जब कोई डिकोड विफल हो जाता है, तो मूल स्रोत, चुने गए वर्णमाला और क्या स्ट्रिंग को छोटा कर दिया गया था, इसकी जांच करें। जब यह सफल हो जाए, तो एक उपयुक्त दृश्य चुनें: वैध टेक्स्ट बाइट्स के लिए टेक्स्ट, निरीक्षण के लिए हेक्स, या बाइनरी डेटा के लिए फ़ाइल डाउनलोड। विस्तृत Base64 वर्णमाला और उदाहरण परिभाषित हैं RFC 4648.