टूल का इस्तेमाल कैसे करें
किसी API रिस्पॉन्स, कॉन्फ़िगरेशन फ़ाइल या ईमेल हेडर में अजीब-सी लंबी स्ट्रिंग दिखे और आपको Base64 decode करना हो, तो यह पेज बिना कुछ इंस्टॉल किए काम कर देता है। ऊपर दो टैब हैं: Encode और Decode। सही टैब चुनिए, इनपुट बॉक्स में अपना कंटेंट चिपकाइए और नतीजा ठीक नीचे तुरंत दिख जाएगा।
Encode करते समय आप कोई भी टेक्स्ट लिख सकते हैं, चाहे वह हिंदी हो, तमिल, अंग्रेज़ी या इमोजी। टूल पूरी तरह UTF-8 पर चलता है, इसलिए देवनागरी अक्षर टूटकर उलटे-सीधे चिह्न नहीं बनते। Decode करते समय Base64 स्ट्रिंग जैसी है वैसी चिपका दीजिए। बीच के स्पेस और लाइन ब्रेक अपने-आप हटा दिए जाते हैं, और URL-safe वैरिएंट के - व _ अक्षर भी मान्य हैं। अगर इनपुट गलत है, तो उलझाने वाले नतीजे की जगह साफ़ एरर संदेश दिखेगा। काम पूरा होने पर कॉपी बटन से नतीजा क्लिपबोर्ड में ले जाइए।
सारी प्रोसेसिंग आपके ब्राउज़र में होती है। इसलिए टोकन या अंदरूनी डेटा पर काम करते समय भी वह किसी बाहरी सर्वर तक नहीं पहुँचता।
Base64 कैसे काम करता है
Base64 बाइनरी डेटा को सिर्फ़ सामान्य टेक्स्ट अक्षरों में लिखने का तरीका है। यह इनपुट के बाइट्स को तीन-तीन के समूह (24 बिट) में लेता है और उन्हें 6-6 बिट के चार टुकड़ों में बाँटता है। हर टुकड़ा 0 से 63 के बीच की एक संख्या है, जिसे एक तय वर्णमाला के अक्षर में बदला जाता है: बड़े अंग्रेज़ी अक्षर, छोटे अक्षर, अंक, + और /। आख़िर में एक या दो बाइट बचें, तो कमी = चिह्न से पूरी की जाती है।
| इनपुट | बाइट्स | Base64 आउटपुट |
|---|---|---|
Hi |
2 | SGk= |
क |
3 (UTF-8) | 4KSV |
3 बाइट से 4 अक्षर के इसी नियम की वजह से एन्कोड किया गया टेक्स्ट लगभग 33% बड़ा हो जाता है। base64url वैरिएंट में + की जगह - और / की जगह _ आता है, और अक्सर = हटा दिया जाता है, ताकि नतीजा URL या फ़ाइल नाम में बिना दिक़्क़त लिखा जा सके।
एक बात साफ़ समझ लीजिए: Base64 एन्क्रिप्शन नहीं है। इसमें न कोई कुंजी होती है, न कुछ छिपाया जाता है; बस वही डेटा दूसरे रूप में लिखा जाता है।
व्यावहारिक उपयोग और सुझाव
वेब डेवलपमेंट में Base64 कई जगह मिलता है। data URI में छोटी इमेज सीधे HTML या CSS के अंदर data:image/png;base64, जैसे प्रीफ़िक्स के साथ रखी जाती है। ईमेल में MIME एन्कोडिंग के ज़रिए अटैचमेंट भेजे जाते हैं, क्योंकि पुराने मेल सिस्टम सिर्फ़ टेक्स्ट संभालते थे। कई API फ़ाइलों को JSON payload में Base64 बनाकर भेजती हैं, क्योंकि JSON में कच्चा बाइनरी डेटा नहीं रखा जा सकता।
HTTP के Basic Auth हेडर में username:password Base64 में लिखा जाता है, इसलिए ऐसे क्रेडेंशियल हमेशा HTTPS पर ही भेजने चाहिए। JWT टोकन बिंदुओं से अलग किए गए तीन base64url हिस्सों से बनता है; पहले दो हिस्से decode करके आप हेडर और टोकन का डेटा पढ़ सकते हैं, हालाँकि सिग्नेचर पढ़ने लायक़ टेक्स्ट नहीं होता।
एक काम की पहचान: अगर कोई स्ट्रिंग = या == पर ख़त्म होती है और उसमें सिर्फ़ अक्षर, अंक और गिने-चुने चिह्न हैं, तो वह लगभग निश्चित रूप से Base64 है। और decode करने पर बेतुका टेक्स्ट निकले, तो मूल डेटा शायद कोई इमेज या दूसरी बाइनरी फ़ाइल था।