Skip to main content
CheckTown
डेव टूल

Base64 एन्कोडिंग और डिकोडिंग: एक डेवलपर की संपूर्ण गाइड

प्रकाशित 5 मिनट का पठन
इस लेख में

Base64 क्या है?

Base64 एक एन्कोडिंग योजना है, जो बाइनरी डेटा को ASCII अक्षरों की स्ट्रिंग में बदलती है। यह किसी भी बाइनरी डेटा को दर्शाने के लिए 64 सुरक्षित अक्षरों (A-Z, a-z, 0-9, +, /) का उपयोग करती है, जिससे यह HTTP हेडर, ईमेल (MIME) और JSON जैसे टेक्स्ट-आधारित प्रोटोकॉल पर भेजने के लिए सुरक्षित हो जाता है।

Base64 कोई एन्क्रिप्शन नहीं है — यह एन्कोडिंग है। कोई भी बिना किसी कुंजी के Base64 को वापस मूल डेटा में डिकोड कर सकता है। Base64 का उद्देश्य बाइनरी डेटा को टेक्स्ट के लिए बने सिस्टमों से गुज़ारना है, न कि सुरक्षा प्रदान करना।

Base64 एन्कोडिंग कैसे काम करती है

Base64 हर 3 बाइट (24 बिट) के समूह को 4 Base64 अक्षरों (प्रत्येक 6 बिट) में बदलता है और यदि इनपुट 3 से विभाज्य नहीं है तो = अक्षरों से पैडिंग जोड़ता है।

  • बाइट समूहन — इनपुट बाइट्स को 3 के समूहों में बाँटा जाता है और 4 आउटपुट अक्षरों में बदला जाता है
  • कैरेक्टर मैपिंग — हर 6-बिट समूह 64 प्रिंट करने योग्य ASCII अक्षरों में से किसी एक पर मैप होता है
  • पैडिंग — यह सुनिश्चित करने के लिए कि आउटपुट की लंबाई हमेशा 4 का गुणज हो, = अक्षर जोड़े जाते हैं

निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं

Base64 एन्कोड या डिकोड करें →

Base64 का उपयोग कब करें

जब भी बाइनरी डेटा को टेक्स्ट-आधारित फ़ॉर्मैट में एम्बेड करने की ज़रूरत होती है, तब Base64 का उपयोग किया जाता है।

  • ईमेल अटैचमेंट — MIME एन्कोडिंग ईमेल संदेशों में बाइनरी फ़ाइलें जोड़ने के लिए Base64 का उपयोग करती है
  • डेटा URI — HTTP अनुरोधों से बचने के लिए HTML/CSS में छवियों को सीधे data:image/png;base64,... के रूप में एम्बेड करें
  • API प्रमाणीकरण — Basic Auth क्रेडेंशियल को Authorization HTTP हेडर में Base64-एन्कोडेड किया जाता है

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

क्या Base64 डेटा का आकार बढ़ाता है?

हाँ। Base64 एन्कोडिंग आकार को लगभग 33% बढ़ा देती है क्योंकि इनपुट के हर 3 बाइट से 4 बाइट आउटपुट बनते हैं। बाइनरी डेटा को टेक्स्ट-सुरक्षित बनाने का यह एक अंतर्निहित समझौता है।

मानक Base64 और URL-सुरक्षित Base64 में क्या अंतर है?

मानक Base64 + और / का उपयोग करता है, जिनके URL में विशेष अर्थ होते हैं। URL-सुरक्षित Base64 (Base64url) + को - से और / को _ से बदल देता है ताकि पर्सेंट-एन्कोडिंग के बिना URL और फ़ाइल नामों में सुरक्षित रूप से इस्तेमाल हो सकने वाली स्ट्रिंग बने। JWT, Base64url एन्कोडिंग का उपयोग करते हैं।

मैं Base64 को non-UTF8 डेटा के साथ कैसे संभालूँ?

Base64 कच्चे बाइट्स के साथ काम करता है, टेक्स्ट के साथ नहीं। छवियों या एन्क्रिप्टेड कंटेंट जैसे बाइनरी डेटा को एन्कोड करते समय, इसे स्ट्रिंग के बजाय एक बाइट ऐरे के रूप में मानें। JavaScript में Uint8Array या Buffer का उपयोग करें; Python में non-UTF8 डेटा से जुड़ी एन्कोडिंग समस्याओं से बचने के लिए bytes ऑब्जेक्ट का उपयोग करें।

संबंधित टूल