Base64 क्या है?
Base64 बाइनरी डेटा को 64 सुरक्षित कैरेक्टर (A–Z, a–z, 0–9, + और /) से टेक्स्ट में दर्शाता है; तीन बाइट चार कैरेक्टर बनते हैं, इसलिए आउटपुट इनपुट से लगभग 33% बड़ा होता है। यह इसलिए है ताकि बाइनरी कंटेंट टेक्स्ट के लिए बने चैनलों — ई-मेल, JSON, URL और HTTP हेडर — से गुज़र सके। यह एन्कोडिंग है, एन्क्रिप्शन नहीं: इसे कोई भी डिकोड कर सकता है।
सुरक्षा नोट: Base64 कुछ नहीं छिपाता। केवल Base64 में एन्कोड किए गए क्रेडेंशियल, टोकन या निजी डेटा व्यावहारिक रूप से सादे टेक्स्ट हैं; ट्रांज़िट में TLS और स्टोरेज में असली एन्क्रिप्शन इस्तेमाल करें।
गाइड पढ़ें: Base64 क्या है? एन्कोडिंग समझें
Base64 डिकोडर कैसे इस्तेमाल करें
- Base64 स्ट्रिंग पेस्ट करें (JWT सेगमेंट और data: URI भी चलते हैं)।
- डिकोड किया हुआ टेक्स्ट और की गई मरम्मत के नोट पढ़ें।
- अगर नतीजे में � कैरेक्टर दिखें तो टेक्स्ट एन्कोडिंग बदलें।
- नतीजा कॉपी करें या डाउनलोड करें।
UTF-8 में सेव é को Latin-1 में पढ़ने पर é दिखता है, और उल्टी स्थिति में � दिखता है।| Base64 इनपुट | टेक्स्ट को इस रूप में डिकोड करें | |
|---|---|---|
| UTF-8 | Latin-1 / बाइनरी स्ट्रिंग | |
Y2Fmw6k=café UTF-8 में सेव | caféपास | caféकोई चेतावनी नहीं: हर बाइट मान्य Latin-1 हैफ़ेल |
Y2Fm6Q==café Latin-1 में सेव | caf�टूल चेतावनी देता है: मान्य UTF-8 नहीं, Latin-1 आज़माएँफ़ेल | caféपास |
हर ख़ाना वही है जो टूल का अपना डिकोडर उस इनपुट और सेटिंग पर दिखाता है।
Base64 डिकोडर की खूबियाँ
- स्टैंडर्ड और URL-सुरक्षित Base64 डिकोड करता है, अल्फ़ाबेट अपने आप पहचान कर
- छूटी हुई पैडिंग ठीक करता है और स्पेस तथा data: URI प्रीफ़िक्स अनदेखा करता है
- अमान्य कैरेक्टर उनकी पोज़िशन के साथ बताता है; सख़्त मोड उन्हें अस्वीकार कर देता है
- बाइनरी कंटेंट और जाने-पहचाने फ़ाइल टाइप पहचानता है, hex डंप के साथ
- UTF-8, Latin-1, UTF-16 LE या UTF-16 BE के रूप में डिकोड करें
- डिकोड किया हुआ टेक्स्ट डाउनलोड करें; पेस्ट करते ही लाइव डिकोडिंग
Base64 डिकोडर का उदाहरण
Base64url में JWT पेलोड डिकोड करना
इनपुट:
eyJzdWIiOiJ1c2VyXzhmM2EyYyIsInJvbGUiOiJhZG1pbiIsIm5vdGUiOiJ3aHk_In0आउटपुट:
{"sub":"user_8f3a2c","role":"admin","note":"why?"}
Notes: Missing padding repaired (1 "=" added). Detected the URL-safe alphabet (Base64url).Base64 डिकोडर के बारे में अक्सर पूछे जाने वाले सवाल
स्ट्रिंग के आख़िर में "=" नहीं है — क्या फिर भी डिकोड होगी?
हाँ। छूटी हुई पैडिंग अपने आप जोड़ दी जाती है और नोट में बता दी जाती है, इसलिए JWT और URL से आई Base64url वैल्यू बिना किसी बदलाव के डिकोड हो जाती हैं।
अमान्य कैरेक्टर मिलने पर क्या होता है?
डिफ़ॉल्ट रूप से अल्फ़ाबेट से बाहर के कैरेक्टर (और सारे स्पेस) छोड़ दिए जाते हैं और उनकी पोज़िशन के साथ सूचीबद्ध कर दिए जाते हैं। इसके बजाय इनपुट अस्वीकार करवाने के लिए "Strict" (सख़्त) चालू करें — किसी दूसरे सिस्टम से आए डेटा को वैलिडेट करते समय यह उपयोगी है।
आउटपुट में � या अजीब चिह्न दिख रहे हैं — क्यों?
डिकोड किए हुए बाइट UTF-8 टेक्स्ट नहीं हैं। वे बाइनरी हो सकते हैं (इमेज, ZIP या PDF — टूल आम सिग्नेचर पहचान कर hex डंप दिखाता है) या किसी पुरानी एन्कोडिंग का टेक्स्ट; दूसरी स्थिति के लिए "Latin-1" आज़माएँ।
क्या मैं data: URI डिकोड कर सकता हूँ?
हाँ। पूरी "data:image/png;base64,…" स्ट्रिंग पेस्ट करें; प्रीफ़िक्स हटा दिया जाता है और कंटेंट टाइप बता दिया जाता है।
तकनीकी नोट्स
डिकोडर असल दुनिया के इनपुट को सहन करता है: वह स्पेस हटाता है, दोनों अल्फ़ाबेट स्वीकार करता है, लंबाई को चार के गुणक तक पैड करता है और लंबाई अमान्य होने पर (mod 4 = 1) लटकता हुआ कैरेक्टर छोड़ देता है। बाइनरी पहचान NUL बाइट, कंट्रोल कैरेक्टर के ऊँचे अनुपात या अमान्य UTF-8 अनुक्रम देखती है, और फ़ाइल सिग्नेचर PNG, JPEG, GIF, PDF, ZIP, gzip तथा और भी टाइप पहचान लेते हैं।
संदर्भ
- RFC 4648: The Base16, Base32, and Base64 Data EncodingsBase64 और Base64url अक्षरमाला, पैडिंग नियम और hex (Base16) एन्कोडिंग।
- Base64 — MDN Glossary — MDNब्राउज़र में Base64: btoa/atob, URL-सेफ़ वेरिएंट और बाइनरी डेटा एन्कोड करने का साइज़ ओवरहेड।
- RFC 2397: The "data" URL schemeछोटी फ़ाइलें URL में data:<mediatype>;base64,<data> के रूप में कैसे एम्बेड होती हैं।