MCP के माध्यम से कनेक्ट करें →

गणना दर्ज करें

सूत्र (फॉर्मूला)

विज्ञापन

परिणाम

Base64 आउटपुट
SGVsbG8=
UTF-8 में एन्कोड किया गया
इनपुट बाइट्स (UTF-8) 5
आउटपुट वर्ण 8

Base64 एन्कोडिंग क्या है?

Base64 एक बाइनरी-से-टेक्स्ट एन्कोडिंग तरीका है, जो किसी भी बाइट डेटा को सिर्फ़ 64 प्रिंट करने योग्य ASCII वर्णों से दर्शाता है: A-Z, a-z, 0-9, साथ ही + और /। इसका इस्तेमाल HTML/CSS में इमेज एम्बेड करने (data URI), ईमेल में बाइनरी अटैचमेंट भेजने (MIME), JSON Web Token में, और हर उस जगह होता है जहाँ बाइनरी डेटा को सिर्फ़-टेक्स्ट वाले चैनल से सुरक्षित रूप से गुज़रना होता है। यह टूल आपके टाइप किए गए किसी भी टेक्स्ट को एन्कोड करता है — पहले UTF-8 बाइट्स निकाली जाती हैं, फिर उन्हें एन्कोड किया जाता है।

इस एन्कोडर का इस्तेमाल कैसे करें

अपना टेक्स्ट बॉक्स में टाइप करें या पेस्ट करें और सबमिट कर दें। कैलकुलेटर टेक्स्ट को UTF-8 बाइट्स में बदलता है, मानक Base64 एल्गोरिदम लगाता है, और एन्कोड की गई स्ट्रिंग के साथ-साथ इनपुट बाइट काउंट और आउटपुट वर्णों की संख्या भी दिखाता है।

फ़ॉर्मूला आसान भाषा में

एन्कोडर इनपुट बाइट्स को एक बार में तीन-तीन के समूह में पढ़ता है। तीन बाइट्स मिलकर 24 बिट बनाती हैं, जो बराबर बँटकर चार 6-बिट टुकड़ों में आ जाती हैं। हर 6-बिट मान (0–63) वर्णमाला में एक स्थान दर्शाता है और एक आउटपुट वर्ण बनाता है। जब इनपुट की लंबाई 3 का गुणक नहीं होती, तो एल्गोरिदम आख़िरी समूह को पैड कर देता है: एक बची हुई बाइट से दो वर्ण और == बनते हैं, और दो बची हुई बाइट्स से तीन वर्ण और एक = बनता है। इसलिए आउटपुट की लंबाई हमेशा 4 × ceil(n/3) होती है।

$$\text{Base64} = \operatorname{encode}_{64}\!\left(\text{Text}\right), \qquad L_{out} = 4 \left\lceil \frac{L_{in}}{3} \right\rceil$$

विज्ञापन
तीन 8-बिट बाइट्स को चार 6-बिट Base64 अक्षरों में पुनर्व्यवस्थित दिखाता आरेख
Base64 तीन 8-बिट बाइट्स (24 बिट) को चार 6-बिट हिस्सों में फिर से बाँटता है, हर एक एक अक्षर से मैप होता है।

हल किया हुआ उदाहरण

टेक्स्ट Man को एन्कोड करते हैं। इसकी ASCII बाइट्स हैं 77, 97, 110 → बाइनरी में 01001101 01100001 01101110। इन्हें 6-बिट टुकड़ों में बाँटें: 010011 = 19 → T, 010110 = 22 → W, 000101 = 5 → F, 101110 = 46 → u। नतीजा: TWFu — 3 बाइट्स अंदर गईं, 4 वर्ण बाहर आए, कोई पैडिंग नहीं। यहाँ \(L_{out} = 4 \left\lceil \frac{3}{3} \right\rceil = 4\)।

शब्द को टेक्स्ट से बाइट्स, बिट्स और फिर Base64 अक्षरों में बदलने का चरण प्रवाह
उदाहरण सहित: टेक्स्ट बाइट्स बनता है, फिर 6-बिट समूह, और अंत में Base64 स्ट्रिंग।

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

मेरे आउटपुट के अंत में = निशान क्यों आते हैं? जब आपका इनपुट 3 बाइट्स का गुणक नहीं होता, तब पैडिंग आख़िरी समूह को पूरा करती है, ताकि आउटपुट की लंबाई 4 का गुणक बनी रहे।

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

आउटपुट इनपुट से बड़ा क्यों होता है? Base64 डेटा को लगभग 33% बढ़ा देता है, क्योंकि हर 3 बाइट्स से 4 वर्ण बनते हैं।

अंतिम अपडेट: