मुख्य सामग्री पर जाएँ
Tooletto

Base64 डिकोडर

Base64 एनकोडर और डिकोडर का एक प्रीसेट

Base64 को वापस पढ़ने लायक़ टेक्स्ट में डिकोड करें। यह Unicode सही तरीक़े से संभालता है और स्टैंडर्ड Base64 दोनों को और JWT द्वारा इस्तेमाल किए जाने वाले URL-सेफ़ वैरिएंट को स्वीकार करता है, तो आप किसी टोकन सेगमेंट को सीधे पेस्ट कर सकते हैं।

  • फ़ाइलें कभी आपकी डिवाइस से बाहर नहीं जातीं
  • मुफ़्त, बिना साइन-अप
  • कोई वॉटरमार्क नहीं
  • लोड होने के बाद ऑफ़लाइन भी काम करता है
Loading tool…

Base64 एनकोडर और डिकोडर कैसे करें

  1. 1

    एक दिशा चुनें

    एनकोड और डिकोड के बीच बदलें।

  2. 2

    अपना डेटा डालें

    इनपुट बॉक्स में टाइप करें या पेस्ट करें। आपके टाइप करते ही कन्वर्ज़न होता है।

  3. 3

    नतीजा कॉपी करें

    आउटपुट कॉपी करें, या इसे टेक्स्ट फ़ाइल के रूप में डाउनलोड करें।

डिकोड करने को Base64 के दोनों वैरिएंट स्वीकार क्यों करने पड़ते हैं

व्यवहार में मिलने वाली कोई Base64 स्ट्रिंग स्टैंडर्ड Base64 हो सकती है — किसी मेल अटैचमेंट, डेटा URI, या कॉन्फ़िगरेशन फ़ाइल से — या Base64URL, जो सबसे आम तौर पर किसी JWT के तीन डॉट-सेपरेटेड सेगमेंट में से एक से आती है। चूँकि दोनों वैरिएंट सिर्फ़ तीन कैरेक्टर में अलग हैं, कोई डिकोडर जो बिल्कुल एक ही फ़ॉर्म पर अड़ा रहता है वह किसी टोकन सेगमेंट को स्वीकार करने से पहले आपको मैनुअल रूप से `-` को `+` से और `_` को `/` से बदलने पर मजबूर करता है, जो सिर्फ़ पेस्ट करने वाले किसी काम के लिए एक अजीब अतिरिक्त क़दम है। दोनों वैरिएंट स्वीकार करने का मतलब है कि किसी JWT पेलोड सेगमेंट को सीधे पेस्ट किया जा सकता है, बिना पहले से जाने या परवाह किए कि यह कौन सा Base64 वैरिएंट निकलता है।

जब डिकोड किया गया आउटपुट पढ़ने लायक़ टेक्स्ट न हो

शुरुआत में हर चीज़ जो Base64 में एनकोड की गई हो वह टेक्स्ट नहीं होती — इमेज, एन्क्रिप्शन कुंजी और दूसरा बाइनरी डेटा भी टेक्स्ट जैसी ही सुरक्षा वजहों से आमतौर पर Base64 में एनकोड होता है। इनमें से किसी एक को डिकोड करने पर कच्चे बाइट मिलते हैं जो टेक्स्ट के रूप में समझे जाने पर बिगड़े और अपठनीय अक्षरों के रूप में दिखते हैं, जो डिकोडिंग फ़ेल होने के संकेत की बजाय अपेक्षित है: ऑपरेशन ने एनकोडिंग को सही तरीक़े से पलटा, लेकिन अंतर्निहित बाइट पहली जगह कभी UTF-8 टेक्स्ट के रूप में पढ़े जाने के लिए बने ही नहीं थे।

किसी संदिग्ध स्ट्रिंग की जल्दी जाँच करने का तरीक़ा

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

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

क्या यह इमोजी और दूसरी भाषाओं के टेक्स्ट को संभालता है?

हाँ। Base64 से पहले टेक्स्ट UTF-8 के रूप में एनकोड होता है, यही वजह है कि एक्सेंट, चीनी अक्षर और इमोजी सही तरीक़े से दोनों दिशाओं में कन्वर्ट होते हैं। ब्राउज़र के कच्चे `btoa` पर बने टूल U+00FF से ऊपर किसी भी कैरेक्टर पर एरर देते हैं — यह एक बहुत आम ग़लती है।

Base64URL क्या है और मुझे इसकी ज़रूरत कब है?

एक वैरिएंट जो `+` को `-` से और `/` को `_` से बदल देता है, और `=` पैडिंग हटा देता है, तो नतीजा किसी URL या फ़ाइल नाम के अंदर सुरक्षित रहता है। JSON Web Token इसे इस्तेमाल करते हैं। स्टैंडर्ड Base64 किसी क्वेरी स्ट्रिंग में पेस्ट करने पर टूट जाता है।

क्या Base64 एनक्रिप्शन का एक रूप है?

नहीं। यह बाइनरी डेटा को सिर्फ़-टेक्स्ट चैनल के ज़रिए ले जाने के लिए बनी एक एनकोडिंग है, और कोई भी इसे तुरंत पलट सकता है। इसे कभी पासवर्ड, कुंजी या निजी डेटा छुपाने के लिए इस्तेमाल न करें।

मेरा Base64 आउटपुट इनपुट से बड़ा क्यों है?

Base64 हर तीन बाइट को चार कैरेक्टर के रूप में दर्शाता है, तो आउटपुट हमेशा लगभग 33% बड़ा होता है। यह अतिरिक्त खर्च टेक्स्ट के रूप में सुरक्षित रूप से भेजे जाने की क़ीमत है।