उपयोग कैसे करें
- Base64 स्ट्रिंग को इनपुट में पेस्ट करें, या Base64 टेक्स्ट वाली फ़ाइल लोड करने के लिए “फ़ाइल खोलें” पर क्लिक करें।
- आउटपुट को “टेक्स्ट” पर रखें और कैरेक्टर सेट चुनें (डिफ़ॉल्ट रूप से UTF-8), या बाइनरी डेटा के लिए आउटपुट को “हेक्स” पर करें।
- अगर डिकोडिंग विफल हो, तो त्रुटि संदेश पढ़ें: उसमें पहले अमान्य अक्षर की स्थिति बताई जाती है।
- डिकोड किया गया परिणाम कॉपी करें या डाउनलोड करें।
डिकोडर क्या-क्या स्वीकार करता है
डिकोडिंग, एनकोडिंग की उलटी प्रक्रिया है: हर अक्षर को उसके 6-बिट मान में वापस बदला जाता है और हर चार अक्षर तीन बाइट बन जाते हैं। असल दुनिया में मिलने वाला Base64 शायद ही कभी साफ़-सुथरा होता है, इसलिए यह डिकोडर काफ़ी लचीला है:
- स्पेस और लाइन ब्रेक अनदेखे किए जाते हैं, इसलिए रैप की गई MIME बॉडी और PEM ब्लॉक को जैसे के तैसे पेस्ट किया जा सकता है। फिर भी, पहले
-----BEGINऔर-----ENDवाली लाइनें हटा दें: उनके अक्षर और डैश मान्य Base64 अक्षर हैं और डेटा के रूप में डिकोड हो जाएँगे। - URL-सुरक्षित इनपुट, जिसमें
-और_होते हैं, ठीक वैसे ही डिकोड होता है जैसे+और/वाला मानक Base64। - गायब पैडिंग से कोई समस्या नहीं होती। केवल 4n + 1 अक्षरों की लंबाई अस्वीकार की जाती है, क्योंकि एक अकेला बचा अक्षर कोई बाइट नहीं बना सकता; इसका आमतौर पर मतलब है कि स्ट्रिंग बीच में कट गई है।
- Data URI भी काम करते हैं: शुरुआत का
data:...;base64,प्रीफ़िक्स डिकोड करने से पहले हटा दिया जाता है।
टेक्स्ट या बाइनरी आउटपुट
डिकोडिंग का परिणाम हमेशा बाइट का एक क्रम होता है। अगर मूल डेटा टेक्स्ट था, तो आउटपुट को टेक्स्ट पर रखें और उसका कैरेक्टर सेट चुनें। अगर वह इमेज, PDF, आर्काइव, कुंजी या सिफ़रटेक्स्ट था, तो कोई भी कैरेक्टर सेट उसे पढ़ने योग्य नहीं बनाएगा: बाइट जाँचने के लिए आउटपुट को हेक्स पर करें, या उसका पूर्वावलोकन देखने और सहेजने के लिए Base64 से फ़ाइल या Base64 से इमेज खोलें। शुरुआती अक्षरों से अक्सर सामग्री का पता चल जाता है:
| Base64 की शुरुआत | डिकोड की गई सामग्री |
|---|---|
iVBORw0KGgo | PNG इमेज |
/9j/ | JPEG इमेज |
R0lGOD | GIF इमेज |
JVBERi0 | PDF दस्तावेज़ |
UEsDB | ZIP आर्काइव, जिसमें DOCX, XLSX और JAR भी शामिल हैं |
H4sI | gzip से कंप्रेस किया गया डेटा |
eyJ | JSON ऑब्जेक्ट, जैसे JWT हेडर |
डिकोड किया गया टेक्स्ट अटपटा क्यों दिखता है
- ग़लत कैरेक्टर सेट। Windows-1252 के रूप में पढ़ा गया UTF-8 टेक्स्ट é को
éमें बदल देता है, और UTF-8 के रूप में पढ़ा गया GBK या Shift_JIS टेक्स्ट रिप्लेसमेंट अक्षर (�) दिखाता है। वही कैरेक्टर सेट चुनें जिसमें टेक्स्ट लिखा गया था। - बाइनरी डेटा। बेतरतीब चिह्नों के बीच कहीं-कहीं पढ़ने योग्य टुकड़े, जैसे शुरुआत के पास
PNGयाPK, इस बात का संकेत हैं कि सामग्री टेक्स्ट नहीं बल्कि एक फ़ाइल है। - कंप्रेस या एन्क्रिप्ट किया गया डेटा। gzip स्ट्रीम, Protocol Buffers और सिफ़रटेक्स्ट सही ढंग से डिकोड होते हैं, लेकिन वे टेक्स्ट नहीं हैं। हेक्स आउटपुट दिखाता है कि उनमें असल में क्या है।
- दोहरी एनकोडिंग। अगर आउटपुट ख़ुद Base64 है, तो उसे वापस इनपुट में पेस्ट करें और दूसरी बार डिकोड करें।
कोड में Base64 डिकोड करना
# Python
base64.b64decode(s).decode('utf-8')
// Node.js (URL-सुरक्षित इनपुट भी स्वीकार करता है)
Buffer.from(s, 'base64').toString('utf8')
// ब्राउज़र: atob() हर बाइट के लिए एक अक्षर लौटाता है, इसलिए बाद में UTF-8 डिकोड करें
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))
# Linux और macOS शेल
echo 'SGVsbG8=' | base64 --decode
तकनीकी विवरण
| वर्णमाला | A-Z a-z 0-9 + / |
|---|---|
| आउटपुट का आकार | हर 3 बाइट पर 4 अक्षर (लगभग 133%) |
| पैडिंग | = से 4 अक्षरों के गुणज तक |
| मानक | RFC 4648 खंड 4 |
| केस-संवेदी | हाँ |
उदाहरण
| इनपुट (UTF-8) | आउटपुट |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
अक्सर पूछे जाने वाले प्रश्न
मुझे अमान्य अक्षर की त्रुटि क्यों मिलती है?
%2B और %3D जैसे परसेंट एस्केप। उद्धरण चिह्न हटाएँ या पहले स्ट्रिंग को URL-डिकोड करें। त्रुटि संदेश पहले ग़लत अक्षर की स्थिति दिखाता है।क्या बिना पैडिंग वाला Base64 डिकोड किया जा सकता है?
= चिह्नों की ज़रूरत नहीं होती, इसलिए JWT, URL और API से मिली बिना पैडिंग वाली स्ट्रिंग सामान्य रूप से डिकोड हो जाती हैं।URL से Base64 कॉपी करने के बाद आउटपुट ग़लत क्यों आता है?
+ को स्पेस में बदल देती है। यहाँ स्पेस अनदेखे किए जाते हैं, इसलिए वे अक्षर खो जाते हैं। डिकोड करने से पहले स्पेस को + से बदलें, और URL में भेजे जाने वाले मानों के लिए Base64URL का उपयोग करें।Base64 को इमेज या फ़ाइल में कैसे डिकोड करें?
क्या मेरा Base64 किसी सर्वर पर भेजा जाता है?
नहीं। डिकोडिंग आपके ब्राउज़र में JavaScript से होती है और इनपुट कभी आपके डिवाइस से बाहर नहीं जाता। टोकन, कॉन्फ़िगरेशन सीक्रेट या निजी डेटा डिकोड करते समय यह बात ख़ास मायने रखती है।