fixmint
HI

Base64 क्या है: डेटा बड़ा क्यों होता है और इसे कैसे डिकोड करें

द्वारा · · 8 नवंबर 2026 को अपडेट किया गया · 5 मिनट पढ़ाई

Base64 बाइनरी डेटा को सादे टेक्स्ट के रूप में लिखता है, और इसके लिए 64 अक्षरों का इस्तेमाल करता है: A से Z, a से z, 0 से 9, साथ में + और /। हर तीन बाइट्स चार अक्षरों में बदल जाते हैं, इसलिए टेक्स्ट अपने डेटा से लगभग एक-तिहाई लंबा होता है। लोग इसका इस्तेमाल तब करते हैं जब कोई फ़ॉर्मेट केवल टेक्स्ट स्वीकार करता है, जैसे वेब पेज में data URL, JSON फ़ील्ड या ईमेल अटैचमेंट।

Base64 एन्कोड और डिकोडBase64 स्ट्रिंग पढ़ें या बनाएंमुफ़्त में करें

टेक्स्ट फ़ॉर्मेट को इसकी ज़रूरत क्यों पड़ती है

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

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

तीन बाइट्स चार अक्षर कैसे बनते हैं

Man शब्द लीजिए, जो तीन बाइट्स है: दशमलव में 77, 97 और 110। ये तीनों बाइट्स मिलकर 24 बिट्स बनाते हैं। 24 बिट्स को छह-छह बिट्स के चार समूहों में बाँटिए, और हर समूह 0 से 63 के बीच एक संख्या होगी, जो वर्णमाला के एक अक्षर की ओर इशारा करती है। Man बन जाता है TWFu।

छह बिट्स केवल 64 मान दर्शा सकते हैं, इसलिए चार अक्षर तीन बाइट्स को ढोते हैं। आउटपुट इसलिए इनपुट से लगभग एक-तिहाई बड़ा होता है, लाइन ब्रेक जोड़े जाने से पहले ही।

जब डेटा तीन बाइट्स में पूरी तरह नहीं बँटता, तो एन्कोडर आख़िर में = चिह्न जोड़ देता है। Ma, जो दो बाइट्स है, बन जाता है TWE=, और M, जो एक बाइट है, बन जाता है TQ==। पैडिंग डिकोडर को बताती है कि आख़िरी समूह में कितने बाइट्स हैं।

टेक्स्ट को पहले UTF-8 में एन्कोड करना ज़रूरी है

Base64 बाइट्स पर काम करता है, और टेक्स्ट अक्षरों से बना होता है। é या ✓ जैसा अक्षर UTF-8 में एक से ज़्यादा बाइट्स में रखा जाता है, और UTF-8 वेब पर इस्तेमाल होने वाली एन्कोडिंग है। ब्राउज़र का फ़ंक्शन btoa() एक स्ट्रिंग लेता है और हर अक्षर को एक बाइट मानता है, इसलिए बेसिक Latin रेंज से ऊपर के अक्षरों पर यह विफल हो जाता है। tick चिह्न पर इसे कॉल करने से InvalidCharacterError आता है।

इसका समाधान है कि पहले टेक्स्ट को UTF-8 बाइट्स में बदला जाए, फिर उन बाइट्स को एन्कोड किया जाए। वाक्यांश héllo ✓ UTF-8 में 10 बाइट्स है, और इसका Base64 है aMOpbGxvIOKckw==। Base64 टूल यह चरण आपके लिए कर देता है। डिकोड करते समय यह बाइट्स को वापस UTF-8 के रूप में पढ़ता है। अगर बाइट्स मान्य UTF-8 टेक्स्ट नहीं हैं, तो टूल उन्हें फ़ाइल मानता है और डाउनलोड का विकल्प देता है।

URL-safe Base64

मानक वर्णमाला में + और / होते हैं। URL में + स्पेस को दर्शा सकता है, और / पाथ के हिस्सों को अलग करता है, इसलिए Base64 स्ट्रिंग लिंक को तोड़ सकती है। URL-safe रूप (RFC 4648, सेक्शन 5) इनकी जगह - और _ इस्तेमाल करता है, और आमतौर पर = पैडिंग हटा देता है। इसे तब इस्तेमाल करें जब स्ट्रिंग URL, फ़ाइल नाम या टोकन में जानी हो। डिकोडर दोनों रूप स्वीकार करता है, पैडिंग के साथ हो या उसके बिना।

अगर Base64 किसी लिंक से निकला है, तो पहले URL को डिकोड करें। लिंक में प्रतिशत-एन्कोड किए गए मान को पढ़ने से पहले डिकोड करना होता है। लिंक के नियमों के लिए percent-encoding गाइड देखें।

लॉगिन टोकन इसका आम उदाहरण है: JSON Web Token तीन Base64url हिस्सों का होता है, जो dots से जुड़े होते हैं: हेडर, डेटा और सिग्नेचर। JWT डिकोडर इसे अलग करके हेडर और डेटा को पढ़ने लायक JSON के रूप में दिखाता है।

Data URL और इमेज

Data URL फ़ाइल को लिंक के अंदर ही रख देता है। इसका रूप होता है data:, फिर मीडिया टाइप, फिर ;base64, फिर कॉमा और डेटा। छोटी इमेज data:image/png;base64, के बाद एन्कोड किए गए बाइट्स बन जाती है। वेब पेज और स्टाइलशीट इस रूप को स्वीकार करते हैं, और इससे छोटे आइकन के लिए एक अलग रिक्वेस्ट बच जाती है।

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

टूल में Base64 डिकोड करते समय यह डेटा के पहले बाइट्स देखता है। PNG, JPEG, GIF और WebP फ़ाइलें हर एक एक ज्ञात सिग्नेचर से शुरू होती हैं, इसलिए टूल प्रीव्यू दिखाता है और डाउनलोड का विकल्प देता है। इमेज टाइप वाला data URL भी तस्वीर के रूप में दिखाया जाता है।

fixmint पर यह कैसे करें

  1. ऊपर टेक्स्ट या Base64 के सामने एन्कोड या डिकोड चुनें, फिर अपना टेक्स्ट या Base64 पेस्ट करें।
  2. टोकन, फ़ाइल नाम और लिंक के लिए URL-safe वर्णमाला, = पैडिंग नहीं पर टिक करें। डिकोडर दोनों रूप वैसे भी स्वीकार करता है।
  3. किसी फ़ाइल से data URL बनाने के लिए फ़ाइल को ड्रॉप एरिया पर छोड़ें और फ़ाइलों के लिए: data: URL आउटपुट करें पर टिक करें।
  4. नतीजा कॉपी करें। अगर डिकोड हुए बाइट्स टेक्स्ट के बजाय फ़ाइल हैं, तो टूल जो डाउनलोड दे उसका इस्तेमाल करें।

डिकोड करते समय आम गलतियाँ

  • एक अक्षर की अनुमति नहीं है। इनपुट में 64 के बाहर का कोई अक्षर है, जैसे कॉपी किए गए वाक्य का कोई quotation mark। देखें कि टेक्स्ट कहाँ से आया है। कॉपी किए गए टेक्स्ट में एक zero-width space भी यही गलती देता है, इसलिए छिपे हुए अक्षर हटाएं और फिर कोशिश करें। छिपे हुए अक्षरों की गाइड बताती है कि ये कहाँ से आते हैं।
  • लंबाई गलत है। कोई अक्षर छूट गया है या अतिरिक्त है, जिसका आम कारण यह होता है कि कॉपी अधूरी रह गई।
  • लाइन ब्रेक और स्पेस। ईमेल (MIME) Base64 को हर 76 अक्षरों पर तोड़ता है। डिकोडर स्पेस और लाइन ब्रेक हटा देता है, इसलिए लपेटा हुआ टेक्स्ट जैसा है वैसा पेस्ट कर सकते हैं।
  • पैडिंग नहीं है। कुछ सिस्टम = चिह्न हटा देते हैं। डिकोडर उन्हें वापस जोड़ देता है।

विशेष स्थितियाँ

  • डिकोड किया गया नतीजा बेतुका लगता है। हो सकता है वह टेक्स्ट नहीं, फ़ाइल हो। zip फ़ाइल, PDF या प्रोग्राम बाइट्स में डिकोड होते हैं जो टेक्स्ट के रूप में नहीं पढ़े जाते। टूल इन्हें डाउनलोड के रूप में देता है।
  • बहुत बड़े इनपुट। एन्कोड या डिकोड होते समय पूरी फ़ाइल ब्राउज़र में रखी जाती है, इसलिए बहुत बड़ी फ़ाइल धीमी हो सकती है, और फ़ोन पर विफल भी हो सकती है।

त्वरित उत्तर

क्या Base64 एन्क्रिप्शन जैसा ही है?

नहीं। यह एक उलटी जा सकने वाली एन्कोडिंग है, जिसमें कोई key नहीं होती, इसलिए कोई भी इसे डिकोड कर सकता है।

मेरा Base64 फ़ाइल से लंबा क्यों है?

तीन बाइट्स के हर समूह से चार अक्षर बनते हैं, इसलिए टेक्स्ट लगभग एक-तिहाई बड़ा होता है।

कॉपी किया गया Base64 स्ट्रिंग डिकोड क्यों नहीं होती?

आम तौर पर कॉपी के दौरान कोई अक्षर छूट गया या जुड़ गया होता है, जैसे लाइन ब्रेक गलत जगह पर आ जाना या आख़िरी अक्षर न होना। स्रोत से दोबारा कॉपी करें।

अंग्रेज़ी मूल से AI की मदद से अनुवादित।

टिप्पणियाँ

    अभी कोई टिप्पणी नहीं। पहली टिप्पणी आप करें।

    आपकी रेटिंग (वैकल्पिक)

    आपका ईमेल कभी दिखाया या सहेजा नहीं जाता।

    How to Remain Valuable When Intelligence Becomes Cheap का कवरHow to Remain Valuable When Intelligence Becomes Cheap

    224 पेज, इस पर कि जब AI ज़्यादातर बौद्धिक काम कर सकेगा, तब भी कौन-से मानवीय, आर्थिक और रणनीतिक फ़ायदे दुर्लभ बने रहेंगे।

    $3.84Gumroad पर पाएँअंग्रेज़ी में