Base64 डिकोड

कोई Base64 स्ट्रिंग पेस्ट करें और मूल टेक्स्ट या बाइट वापस पाएँ। लाइन ब्रेक, URL-सुरक्षित अक्षर, गायब पैडिंग और data: प्रीफ़िक्स अपने-आप संभाले जाते हैं, और त्रुटि संदेश ठीक उसी अक्षर की ओर इशारा करते हैं जहाँ गड़बड़ी है।

पूरी तरह आपके ब्राउज़र में चलता है। कुछ भी अपलोड नहीं होता।

उपयोग कैसे करें

  1. Base64 स्ट्रिंग को इनपुट में पेस्ट करें, या Base64 टेक्स्ट वाली फ़ाइल लोड करने के लिए “फ़ाइल खोलें” पर क्लिक करें।
  2. आउटपुट को “टेक्स्ट” पर रखें और कैरेक्टर सेट चुनें (डिफ़ॉल्ट रूप से UTF-8), या बाइनरी डेटा के लिए आउटपुट को “हेक्स” पर करें।
  3. अगर डिकोडिंग विफल हो, तो त्रुटि संदेश पढ़ें: उसमें पहले अमान्य अक्षर की स्थिति बताई जाती है।
  4. डिकोड किया गया परिणाम कॉपी करें या डाउनलोड करें।

डिकोडर क्या-क्या स्वीकार करता है

डिकोडिंग, एनकोडिंग की उलटी प्रक्रिया है: हर अक्षर को उसके 6-बिट मान में वापस बदला जाता है और हर चार अक्षर तीन बाइट बन जाते हैं। असल दुनिया में मिलने वाला Base64 शायद ही कभी साफ़-सुथरा होता है, इसलिए यह डिकोडर काफ़ी लचीला है:

  • स्पेस और लाइन ब्रेक अनदेखे किए जाते हैं, इसलिए रैप की गई MIME बॉडी और PEM ब्लॉक को जैसे के तैसे पेस्ट किया जा सकता है। फिर भी, पहले -----BEGIN और -----END वाली लाइनें हटा दें: उनके अक्षर और डैश मान्य Base64 अक्षर हैं और डेटा के रूप में डिकोड हो जाएँगे।
  • URL-सुरक्षित इनपुट, जिसमें - और _ होते हैं, ठीक वैसे ही डिकोड होता है जैसे + और / वाला मानक Base64।
  • गायब पैडिंग से कोई समस्या नहीं होती। केवल 4n + 1 अक्षरों की लंबाई अस्वीकार की जाती है, क्योंकि एक अकेला बचा अक्षर कोई बाइट नहीं बना सकता; इसका आमतौर पर मतलब है कि स्ट्रिंग बीच में कट गई है।
  • Data URI भी काम करते हैं: शुरुआत का data:...;base64, प्रीफ़िक्स डिकोड करने से पहले हटा दिया जाता है।

टेक्स्ट या बाइनरी आउटपुट

डिकोडिंग का परिणाम हमेशा बाइट का एक क्रम होता है। अगर मूल डेटा टेक्स्ट था, तो आउटपुट को टेक्स्ट पर रखें और उसका कैरेक्टर सेट चुनें। अगर वह इमेज, PDF, आर्काइव, कुंजी या सिफ़रटेक्स्ट था, तो कोई भी कैरेक्टर सेट उसे पढ़ने योग्य नहीं बनाएगा: बाइट जाँचने के लिए आउटपुट को हेक्स पर करें, या उसका पूर्वावलोकन देखने और सहेजने के लिए Base64 से फ़ाइल या Base64 से इमेज खोलें। शुरुआती अक्षरों से अक्सर सामग्री का पता चल जाता है:

Base64 की शुरुआतडिकोड की गई सामग्री
iVBORw0KGgoPNG इमेज
/9j/JPEG इमेज
R0lGODGIF इमेज
JVBERi0PDF दस्तावेज़
UEsDBZIP आर्काइव, जिसमें DOCX, XLSX और JAR भी शामिल हैं
H4sIgzip से कंप्रेस किया गया डेटा
eyJJSON ऑब्जेक्ट, जैसे 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.isQmFzZTY0Lmlz
你好5L2g5aW9

अक्सर पूछे जाने वाले प्रश्न

मुझे अमान्य अक्षर की त्रुटि क्यों मिलती है?
इनपुट में Base64 वर्णमाला से बाहर का कुछ है, जैसे उद्धरण चिह्न, बैकस्लैश, या URL से कॉपी हुए %2B और %3D जैसे परसेंट एस्केप। उद्धरण चिह्न हटाएँ या पहले स्ट्रिंग को URL-डिकोड करें। त्रुटि संदेश पहले ग़लत अक्षर की स्थिति दिखाता है।
क्या बिना पैडिंग वाला Base64 डिकोड किया जा सकता है?
हाँ। डिकोडर को अंत के = चिह्नों की ज़रूरत नहीं होती, इसलिए JWT, URL और API से मिली बिना पैडिंग वाली स्ट्रिंग सामान्य रूप से डिकोड हो जाती हैं।
URL से Base64 कॉपी करने के बाद आउटपुट ग़लत क्यों आता है?
जब Base64 को बिना एस्केप किए किसी क्वेरी स्ट्रिंग में रखा जाता है, तो फ़ॉर्म डिकोडिंग अक्सर हर + को स्पेस में बदल देती है। यहाँ स्पेस अनदेखे किए जाते हैं, इसलिए वे अक्षर खो जाते हैं। डिकोड करने से पहले स्पेस को + से बदलें, और URL में भेजे जाने वाले मानों के लिए Base64URL का उपयोग करें।
Base64 को इमेज या फ़ाइल में कैसे डिकोड करें?
तस्वीरों का पूर्वावलोकन देखने और उन्हें डाउनलोड करने के लिए Base64 से इमेज का, और PDF, आर्काइव, ऑडियो व अन्य फ़ाइलों के लिए Base64 से फ़ाइल का उपयोग करें। दोनों टूल शुरुआती बाइट से फ़ाइल का प्रकार पहचान लेते हैं।
क्या मेरा Base64 किसी सर्वर पर भेजा जाता है?

नहीं। डिकोडिंग आपके ब्राउज़र में JavaScript से होती है और इनपुट कभी आपके डिवाइस से बाहर नहीं जाता। टोकन, कॉन्फ़िगरेशन सीक्रेट या निजी डेटा डिकोड करते समय यह बात ख़ास मायने रखती है।