Base64 डिकोड

Base64 इनपुट
0 अक्षर

मुफ्त ऑनलाइन Base64 डिकोड टूल जो Base64 स्ट्रिंग को मूल टेक्स्ट में बदलता है। कई कैरेक्टरसेट सपोर्ट के साथ यह API जांच और लॉग बहाली के लिए उपयुक्त है।

संबंधित सुझाव

Base64 डिकोड क्या है?

Base64 डिकोड, Base64 एन्कोडिंग की उलटी प्रक्रिया है: यह Base64 स्ट्रिंग (जैसे SGVsbG8=) को मूल टेक्स्ट या बाइनरी डेटा में बदल देता है। Base64 एक एन्कोडिंग तरीका है जो 64 printable ASCII कैरेक्टर (A-Z, a-z, 0-9, +, /) का उपयोग करके बाइनरी डेटा को दर्शाता है। इसे RFC 4648 में परिभाषित किया गया है।

**डिकोड के सामान्य उपयोग:** Base64 एन्कोडिंग का उपयोग HTTP Basic Authentication header, JWT token के payload सेगमेंट, API response fields, Data URI (जैसे `data:image/png;base64,...`), ईमेल अटैचमेंट MIME एन्कोडिंग और database BLOB स्टोरेज में बहुत होता है। इन्हें डिकोड करना डेवलपमेंट और डिबगिंग का सामान्य काम है।

**डिकोड के मुख्य चरण:** Base64 डिकोड करते समय सही ढंग से संभालना पड़ता है: 1) कैरेक्टरसेट (UTF-8 बहु-बाइट टेक्स्ट के लिए, ASCII साधारण अंग्रेज़ी के लिए); 2) Padding (`=`), क्योंकि लंबाई 4 के गुणक में होनी चाहिए; 3) URL-safe variant (`-` और `_` की जगह `+` और `/`); 4) newline और spaces (standard Base64 में नहीं होते, MIME variant हर 76 कैरेक्टर पर line break डालता है)।

**ब्राउज़र का मूल सपोर्ट:** ब्राउज़र `atob()` फ़ंक्शन देता है जो Base64 डिकोड कर सकता है, लेकिन यह केवल Latin-1 (ISO-8859-1) सपोर्ट करता है। हिंदी, चीनी या अन्य UTF-8 multi-byte text के लिए पहले `TextDecoder('utf-8')` से UTF-8 bytes को बदलना पड़ता है। यह टूल इन सभी बातों को अपने आप संभालता है।

**लोकल प्रोसेसिंग और प्राइवेसी:** सभी डिकोड ऑपरेशन ब्राउज़र के अंदर होते हैं। आपकी Base64 input किसी सर्वर पर अपलोड नहीं होती, इसलिए आप API response के sensitive token या लॉग में मौजूद user data को भी सुरक्षित रूप से डिकोड कर सकते हैं।

उपयोग के मामले

  • API द्वारा लौटाए गए Base64 fields को डिकोड करके मूल content देखना
  • लॉग में मौजूद Base64-encoded data को बहाल करना
  • कॉन्फ़िग फाइल के Base64 values को रिकवर करना
  • Base64 decode errors जैसे missing padding या invalid characters की जांच करना
  • JWT token के header और payload को डिकोड करके user info देखना
  • HTTP Basic Authentication credentials को डिकोड करके username और password देखना
  • Data URI Scheme से image या resource data बहाल करना

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

  1. जिस Base64 string को डिकोड करना है उसे पेस्ट करें
  2. कैरेक्टरसेट चुनें (UTF-8/ASCII/ISO-8859-1)
  3. टूल अपने आप Base64 डिकोड करके परिणाम दिखाएगा
  4. डिबगिंग या दस्तावेज़ीकरण के लिए decoded result कॉपी करें

विशेषताएं

  • रियल-टाइम दो-तरफ़ा कन्वर्ज़न: इनपुट देते ही 300ms debounce के साथ तुरंत डिकोड
  • मल्टी-कैरेक्टरसेट सपोर्ट: UTF-8, ASCII और ISO-8859-1, हिंदी/अंग्रेज़ी/मल्टीलिंगुअल उपयोग के लिए
  • URL-safe Base64 संगतता: `-` और `_` को अपने आप संभालता है और no-padding format को सपोर्ट करता है
  • Invalid character detection: डिकोड विफल होने पर विशिष्ट error position दिखाता है
  • एक-क्लिक कॉपी और डाउनलोड: decoded result को clipboard में कॉपी करें या `.txt` फाइल के रूप में डाउनलोड करें
  • Automatic Padding handling: `=` padding को अपने आप जोड़ता या हटाता है
  • MIME variant support: हर 76 कैरेक्टर पर line break वाले MIME Base64 को पहचानकर संभालता है

कोड उदाहरण

JavaScript: ब्राउज़र के `atob()` से decode (केवल Latin-1)

javascript

ब्राउज़र के native API से plain English Base64 decode करें। UTF-8 text के लिए `TextDecoder` उपयोग करें।

// Standard Base64 decode (plain English / Latin-1)
function b64Decode(str) {
  try {
    return atob(str);
  } catch (e) {
    return 'Decode failed: ' + e.message;
  }
}

console.log(b64Decode('SGVsbG8gV29ybGQ=')); // "Hello World"

// UTF-8 decode (recommended)
function b64DecodeUtf8(str) {
  const binary = atob(str);
  const bytes = new Uint8Array(binary.length);
  for (let i = 0; i < binary.length; i++) {
    bytes[i] = binary.charCodeAt(i);
  }
  return new TextDecoder('utf-8').decode(bytes);
}

console.log(b64DecodeUtf8('5LiW55WM')); // UTF-8 text

Python: `base64` लाइब्रेरी से decode (URL-Safe सहित)

python

Python की standard `base64` library Standard और URL-Safe दोनों mode सपोर्ट करती है।

import base64

# Standard decode
encoded = 'SGVsbG8g5LiW55WM'
decoded = base64.b64decode(encoded).decode('utf-8')
print(decoded)

# URL-Safe decode
url_encoded = 'SGVsbG8g5LiW55WM'
decoded = base64.urlsafe_b64decode(url_encoded + '=' * (4 - len(url_encoded) % 4))
print(decoded.decode('utf-8'))

# MIME decode (after removing line breaks)
mime_encoded = 'SGVs\nbG8g\nV29y\nbGQ='
decoded = base64.b64decode(mime_encoded.replace('\n', '')).decode('utf-8')
print(decoded)

# Ignore invalid characters automatically
import re
cleaned = re.sub(r'[^A-Za-z0-9+/=]', '', encoded)
decoded = base64.b64decode(cleaned).decode('utf-8')
print(decoded)

Java: `java.util.Base64` से decode (कई variants)

java

Java standard library, RFC 4648, URL-Safe और MIME Base64 variants का पूरा support देती है।

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Base64DecodeExample {
    public static void main(String[] args) {
        String encoded = "SGVsbG8g5LiW55WM";

        // Standard decode
        byte[] decoded = Base64.getDecoder().decode(encoded);
        System.out.println(new String(decoded, StandardCharsets.UTF_8));

        // URL-Safe decode
        byte[] urlDecoded = Base64.getUrlDecoder().decode(encoded);
        System.out.println(new String(urlDecoded, StandardCharsets.UTF_8));

        // MIME decode (handles line breaks automatically)
        String mime = "SGVs\nbG8g\nV29y\nbGQ=";
        byte[] mimeDecoded = Base64.getMimeDecoder().decode(mime);
        System.out.println(new String(mimeDecoded, StandardCharsets.UTF_8));

        // Error handling
        try {
            Base64.getDecoder().decode("invalid@base64");
        } catch (IllegalArgumentException e) {
            System.err.println("Decode failed: " + e.getMessage());
        }
    }
}

सामान्य प्रश्न

Base64 डिकोड करते समय InvalidCharacterError क्यों आता है?

सामान्य कारण हैं: spaces/newlines/quotes जैसे invalid characters, गलत Padding (`=`), या URL-safe variant (`-/_`) का उपयोग। डिकोड से पहले Base64 string को साफ़ करना मददगार होता है।

डिकोड के बाद text garbled दिखे तो क्या करें?

संभव है कैरेक्टरसेट गलत चुना गया हो। यदि मूल text हिंदी, चीनी या अन्य multi-byte language में है, तो UTF-8 चुनें। केवल अंग्रेज़ी या binary data के लिए ASCII या ISO-8859-1 आज़माएँ।

URL-safe Base64 और सामान्य Base64 decode में क्या फर्क है?

URL-safe Base64 में `+` और `/` की जगह `-` और `_` होते हैं, और अंत का `=` padding अक्सर छोड़ा जाता है। डिकोड से पहले `-/_` को `+/` में बदलकर सही padding पूरा करना पड़ता है।

क्या Base64 decode API integration debugging के लिए उपयुक्त है?

हाँ, बिल्कुल। कई API responses, OAuth tokens, callback parameters और middleware logs Base64 में encapsulate होते हैं। इन्हें डिकोड करके आप मूल data सीधे देख सकते हैं।

JWT token का header या payload कैसे डिकोड करें?

JWT, Base64URL (URL-safe variant) का उपयोग करता है। JWT का पहला segment (header) या दूसरा segment (payload) पेस्ट करें और URL-safe mode चुनें। तीसरा segment signature है, उसे सामान्य verify-free decode के लिए अलग से नहीं पढ़ना चाहिए।

क्या यह बड़े files डिकोड कर सकता है?

टूल कोई सख़्त size limit नहीं लगाता, लेकिन बहुत बड़े text पर browser performance गिर सकती है। 10MB से बड़े Base64 strings page को slow या hang कर सकते हैं; ऐसे मामलों में chunked decode या Node.js / Python script बेहतर है।

यदि Padding missing हो तो क्या होगा?

टूल अपने आप Padding (`=`) पूरा कर देता है ताकि लंबाई 4 के गुणक में आ जाए। URL-safe variant में padding अक्सर नहीं होता, इसलिए टूल इसे intelligent तरीके से पूरा करता है।

क्या Base64 decode का मतलब decryption है?

नहीं। Base64 एक reversible encoding है, encryption नहीं। कोई भी Base64 को डिकोड कर सकता है। Sensitive data के लिए AES जैसे वास्तविक encryption का उपयोग करें।

क्या browser का `atob()` और यह टूल एक जैसा result देते हैं?

Pure English text के लिए आम तौर पर हाँ। लेकिन `atob()` केवल Latin-1 सपोर्ट करता है और UTF-8 multi-byte text को सीधे नहीं संभाल सकता। यह टूल `atob()` + `TextDecoder` के बराबर UTF-8 handling देता है।

क्या decoded result export किया जा सकता है?

हाँ। आप इसे एक क्लिक में clipboard में कॉपी कर सकते हैं या `.txt` फाइल के रूप में डाउनलोड कर सकते हैं। डाउनलोड की गई फाइल UTF-8 encoded होती है और किसी भी text editor या Excel में खुल सकती है।

शब्दकोश

Base64
64 printable ASCII कैरेक्टर पर आधारित binary-to-text एन्कोडिंग तरीका, जिसे RFC 4648 में परिभाषित किया गया है। हर 3 bytes को 4 characters में बदला जाता है, इसलिए आकार लगभग 33% बढ़ जाता है।
atob()
ब्राउज़र का native Base64 decode फ़ंक्शन (ASCII to Binary)। यह केवल Latin-1 सपोर्ट करता है; UTF-8 टेक्स्ट के लिए TextDecoder की ज़रूरत पड़ती है।
Padding
Base64 एन्कोडिंग के अंत में `=` जोड़कर लंबाई को 4 का गुणक बनाया जाता है। डिकोड के समय padding आम तौर पर अपने आप संभाल लिया जाता है। URL-safe variant में padding अक्सर छोड़ा जाता है।
URL-Safe Base64
RFC 4648 §5 में परिभाषित URL-safe variant, जिसमें `+` और `/` की जगह `-` और `_` होते हैं ताकि URL encoding समस्या न हो। यह JWT और OAuth PKCE में आम है।
MIME Base64
RFC 2045 के अनुसार हर 76 कैरेक्टर पर CRLF line break डालने वाला Base64 variant, जो मुख्य रूप से ईमेल अटैचमेंट ट्रांसफर में उपयोग होता है।
UTF-8
Unicode का variable-length encoding format। हिंदी, चीनी जैसी multi-byte languages को सही बहाल करने के लिए Base64 डिकोड में UTF-8 चुनना ज़रूरी है।
InvalidCharacterError
जब `atob()` को spaces, newlines या गैर-Base64 कैरेक्टर मिलते हैं तो ब्राउज़र यह error देता है। इसका मतलब input में invalid characters हैं।
Latin-1 (ISO-8859-1)
Single-byte character set जो मुख्यतः पश्चिमी यूरोपीय भाषाओं को कवर करता है। ब्राउज़र का `atob` और `btoa` इसी तक सीमित है और सीधे UTF-8 टेक्स्ट नहीं संभालता।

Base64 के तीन variants की तुलना

डिकोड से पहले input Base64 variant पहचानें और सही mode चुनें ताकि errors या garbled output से बचा जा सके।

विशेषताStandardURL-SafeMIME
विशेष कैरेक्टर+ /- _+ /
Padding (=)उपयोग होता हैअक्सर छोड़ा जाता हैउपयोग होता है
लाइन ब्रेकनहींनहींहर 76 कैरेक्टर पर
मानकRFC 4648 §4RFC 4648 §5RFC 2045
सामान्य उपयोगData URI, सामान्य एन्कोडिंगJWT, URL पैरामीटर, फाइलनामईमेल अटैचमेंट, SMTP ट्रांसफर
डिकोड सावधानीPadding पूरा करना पड़ सकता हैपहले -_ को +/ से बदलें, फिर डिकोड करेंडिकोड से पहले line breaks हटाएँ

Base64 decode की 5 सामान्य errors

डिकोड error आने पर नीचे दी गई तालिका से कारण जल्दी पहचानें।

Error प्रकारसंभावित कारणसमाधान
InvalidCharacterErrorSpaces, line breaks या non-Base64 characters मौजूद हैंInput string साफ़ करें या Base64 Clean टूल का उपयोग करें
डिकोड के बाद garbled textगलत कैरेक्टरसेट चुना गया (जैसे UTF-8 text को Latin-1 से पढ़ना)UTF-8 कैरेक्टरसेट चुनें
URL parameter में errorURL-safe characters (`-_`) को standard mode में decode किया गयापहले `-_` को `+/` में बदलें
गलत PaddingLength 4 के गुणक में नहीं है`=` जोड़ें जब तक length % 4 = 0 न हो जाए
Empty stringInput केवल whitespace या newlines हैWhitespace हटाकर फिर से input दें

Authoritative References