Base64 एनकोड/डिकोड (टेक्स्ट)
Input
Output
यह Base64 एनकोडर क्यों उपयोग करें
- टेक्स्ट, JSON और छोटे बाइनरी पेलोड के लिए तत्काल Base64 एन्कोडिंग
- Base64 स्ट्रिंग्स में त्वरित रूपांतरण के लिए फ़ाइल समर्थन (टेक्स्ट, इमेज, बाइनरी)
- JWT, क्वेरी पैरामीटर और वेब-सुरक्षित संदर्भों के लिए URL-सुरक्षित विकल्प
- CLI टूल या ईमेल/PEM फॉर्मेट की नकल करने के लिए वैकल्पिक लाइन रैपिंग
- हेडर, कॉन्फ़िग और कोड में आसान पुन: उपयोग के लिए वन-क्लिक कॉपी
- रिस्पॉन्सिव UI जो डेस्कटॉप और मोबाइल पर अच्छी तरह काम करता है
- एन्कोडिंग आपके ब्राउज़र में होती है — आपका डेटा रिमोट सर्वर पर नहीं भेजा जाता
🔧 Base64 एन्कोडिंग कैसे काम करती है (चरण-दर-चरण) for base64-encoder
इनपुट प्रदान करें
अपना टेक्स्ट, JSON या स्निपेट इनपुट एरिया में पेस्ट करें, या Base64 में कन्वर्ट करने के लिए एक फ़ाइल ड्रॉप करें। टूल बाइट्स को ठीक वैसे ही पढ़ता है जैसे वे हैं।
बाइट्स में कन्वर्ट करें
एनकोडर वर्ण (जैसे UTF-8 टेक्स्ट) या फ़ाइल कंटेंट को बाइट्स में कन्वर्ट करता है। प्रत्येक बाइट 0 और 255 के बीच का 8-बिट मान होता है।
बिट्स को Base64 इंडेक्स में पुनः समूहित करें
प्रत्येक 3 बाइट (3 × 8 = 24 बिट) को 6 बिट के 4 समूहों में पुनः समूहित किया जाता है (4 × 6 = 24)। प्रत्येक 6-बिट समूह Base64 वर्णमाला में एक इंडेक्स होता है।
Base64 वर्णों पर मैप करें और पैड करें
प्रत्येक 6-बिट इंडेक्स को Base64 वर्ण में कन्वर्ट किया जाता है। यदि इनपुट 3 बाइट से विभाज्य नहीं है, तो '=' पैडिंग जोड़ी जाती है ताकि आउटपुट लंबाई हमेशा 4 वर्णों का गुणज हो।
तकनीकी विशिष्टताएँ
वर्ण सेट (RFC 4648)
यह एनकोडर RFC 4648 द्वारा परिभाषित मानक Base64 वर्णमाला का उपयोग करता है।
| रेंज / प्रकार | वर्ण | टिप्पणियाँ |
|---|---|---|
| इंडेक्स 0–25 | A–Z | अपरकेस अक्षर |
| इंडेक्स 26–51 | a–z | छोटे अक्षर |
| सूचकांक 52–61 | 0–9 | अंक |
| सूचकांक 62–63 | + / | मानक Base64 प्रतीक |
| पैडिंग | = | सुनिश्चित करता है कि आउटपुट लंबाई 4 का गुणज हो |
आकार और ओवरहेड
Base64 केवल-पाठ चैनलों में सुरक्षा के लिए आकार का व्यापार करता है। एन्कोडिंग के बाद लगभग एक-तिहाई अधिक डेटा की अपेक्षा करें।
| मूल आकार | Base64 आकार (लगभग) | ओवरहेड |
|---|---|---|
| 3 बाइट्स | 4 वर्ण | ~33% बड़ा |
| 1 KB | ≈ 1.37 KB | ~37% पैडिंग और न्यूलाइन्स सहित |
| 1 MB | ≈ 1.37 MB | बड़े पैमाने पर समान अनुपात |
प्रदर्शन और व्यावहारिक सीमाएं
एन्कोडिंग स्वयं तेज़ है, लेकिन बड़े बफ़र्स ब्राउज़र मेमोरी और प्रतिक्रिया को प्रभावित कर सकते हैं।
| पेलोड आकार | उपयोगकर्ता अनुभव | सिफारिश |
|---|---|---|
| कुछ KB | तत्काल | हेडर, कॉन्फ़िग स्निपेट और टेस्ट डेटा के लिए आदर्श |
| 100 KB – 1 MB | बहुत उत्तरदायी | API पेलोड और फिक्स्चर के लिए विशिष्ट |
| 1–5 MB | आधुनिक हार्डवेयर पर आम तौर पर ठीक | CLI टूल्स पर विचार करें यदि आप अक्सर ऐसा करते हैं |
| > 5–10 MB | ब्राउज़र में धीमा या मेमोरी-भारी महसूस हो सकता है | स्ट्रीमिंग एनकोडर या CLI उपयोगिताओं का उपयोग करें |
कमांड-लाइन बेस64 एन्कोडिंग
बड़ी फाइलों, स्वचालन या CI वर्कफ़्लो के लिए, अपने प्लेटफ़ॉर्म पर मूल बेस64 उपयोगिताओं का उपयोग करें।
लिनक्स / 🍏 macOS
एक स्ट्रिंग को एन्कोड करें
echo -n 'text' | base64स्ट्रिंग 'text' को बेस64 में एन्कोड करता है बिना नई लाइन जोड़े।
एक फाइल को एन्कोड करें
base64 input.bin > output.b64input.bin से बाइनरी डेटा पढ़ता है और बेस64 टेक्स्ट को output.b64 में लिखता है।
विंडोज़ / पावरशेल
पावरशेल के साथ स्ट्रिंग एन्कोड करें
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))'text' के लिए UTF-8 बाइट्स को बेस64 स्ट्रिंग में परिवर्तित करता है।
certutil (CMD) के साथ फाइल एन्कोड करें
certutil -encode input.bin output.b64बेस64-एन्कोडेड फाइल बनाने के लिए अंतर्निहित विंडोज़ टूल का उपयोग करता है।
व्यावहारिक अनुप्रयोग
वेब विकास और डेटा URI
छोटे एसेट्स और संसाधनों को सीधे HTML, CSS या JavaScript में इनलाइन करें।
- लोगो, आइकन और छोटी छवियों के लिए data:image/...;base64,... जेनरेट करें।
- CSS नियमों में फ़ॉन्ट या SVG सामग्री इनलाइन करें।
- छोटे पेलोड को बेस64 स्ट्रिंग्स के रूप में LocalStorage में संग्रहीत करें।
<img src="data:image/png;base64,iVBORw0KGgo...">document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );API विकास और हेडर
क्रेडेंशियल्स और छोटे पेलोड को टेक्स्ट-ओनली चैनलों के माध्यम से सुरक्षित रूप से ट्रांसपोर्ट करें।
- username:password जोड़े से Authorization: Basic हेडर बनाएं।
- कस्टम हेडर या क्वेरी पैरामीटर के लिए JSON पेलोड को बेस64 में एन्कोड करें।
- बाइनरी ब्लॉब्स को JSON में बेस64 स्ट्रिंग्स के रूप में लपेटें।
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });परीक्षण, फिक्स्चर और डिबगिंग
परीक्षण और डिबगिंग सत्रों के लिए स्थिर, टेक्स्ट-ओनली फिक्स्चर बनाएं।
- बाइनरी फिक्स्चर (छवियाँ, PDF) को एन्कोड करें और उन्हें टेस्ट कोड में एम्बेड करें।
- सैंपल पेलोड को बाइनरी फाइलें कमिट करने के बजाय बेस64 स्ट्रिंग्स के रूप में संग्रहीत करें।
- उन सेवाओं के लिए प्रोटोटाइप पेलोड जो Base64-एन्कोडेड फ़ील्ड्स की अपेक्षा करती हैं।
// उदाहरण: Base64 फिक्स्चर का उपयोग करते हुए Jest टेस्ट
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();
❓ Frequently Asked Questions
❓Base64 में '=' पैडिंग क्यों उपयोग होती है?
Base64 इनपुट को 3 बाइट्स (24 बिट्स) के ब्लॉकों में समूहित करता है और 4 वर्ण (4 × 6 बिट्स) आउटपुट करता है। जब इनपुट लंबाई 3 से विभाज्य नहीं होती है, तो '=' पैडिंग वर्ण जोड़े जाते हैं यह दर्शाने के लिए कि अंतिम ब्लॉक छोटा है। पैडिंग एन्कोडिंग प्रारूप का हिस्सा है, मूल डेटा का नहीं।🔗URL-सुरक्षित Base64 कैसे जनरेट करूं?
Base64 '+' को '-' से और '/' को '_' से बदल देता है, और अक्सर अंतिम '=' पैडिंग हटा देता है। कई लाइब्रेरीज़ में URL-सुरक्षित मोड होता है। यदि आपको मैन्युअल रूप से करने की आवश्यकता है, तो मानक Base64 से शुरू करें, फिर इन प्रतिस्थापनों को लागू करें और अपने उपयोग के मामले के लिए '=' ट्रिम करें।🔒क्या Base64 एन्कोडिंग एक सुरक्षा उपाय है?
Base64 एक प्रतिवर्ती **एन्कोडिंग** है जो बाइनरी डेटा को टेक्स्ट के रूप में सुरक्षित रूप से ट्रांसपोर्ट करने योग्य बनाता है (उदाहरण के लिए JSON, HTML या हेडर में)। यह स्वयं कोई गोपनीयता या अखंडता प्रदान नहीं करता है। सुरक्षा के लिए हमेशा HTTPS/TLS और उचित क्रिप्टोग्राफी (जैसे AES या पब्लिक-की स्कीम) का उपयोग करें।📏मैं यहां एन्कोड करने के लिए अधिकतम फ़ाइल आकार क्या है?
Pro Tips
बहुत छोटी संपत्तियों (< 10 KB) के लिए, Base64 डेटा URI के रूप में इनलाइन करने से HTTP अनुरोध कम हो सकते हैं, लेकिन बड़ी छवियों या फोंट के लिए ऐसा करने से बचें।
लॉग में संवेदनशील सामग्री लीक होने से बचने के लिए प्रोडक्शन में केवल छोटे किए गए Base64 पेलोड (या हैश) लॉग करें।
यदि आपका बैकेंड Base64 की अपेक्षा करता है, तो खराब या अनुचित रूप से बड़े पेलोड को अस्वीकार करने के लिए इनपुट को सर्वर-साइड वैलिडेट और नॉर्मलाइज़ करें।
Additional Resources
Other Tools
- सीएसएस सुंदरीकरण
- एचटीएमएल सुंदरीकरण
- जावास्क्रिप्ट सुंदरीकरण
- पीएचपी सुंदरीकरण
- रंग चयनकर्ता
- स्प्राइट एक्सट्रैक्टर
- बेस64 डिकोडर
- सीशार्प फॉर्मेटर
- सीएसवी फॉर्मेटर
- Dockerfile Formatter
- एल्म फॉर्मेटर
- ईएनवी फॉर्मेटर
- गो फॉर्मेटर
- ग्राफक्यूएल फॉर्मेटर
- एचसीएल फॉर्मेटर
- आईएनआई फॉर्मेटर
- जेएसओएन फॉर्मेटर
- लेटेक्स फॉर्मेटर
- मार्कडाउन फॉर्मेटर
- ऑब्जेक्टिवसी फॉर्मेटर
- Php Formatter
- प्रोटो फॉर्मेटर
- पायथन फॉर्मेटर
- रूबी फॉर्मेटर
- रस्ट फॉर्मेटर
- स्काला फॉर्मेटर
- शेल स्क्रिप्ट फॉर्मेटर
- एसक्यूएल फॉर्मेटर
- SVG फॉर्मेटर
- Swift फॉर्मेटर
- TOML फॉर्मेटर
- Typescript Formatter
- XML फॉर्मेटर
- YAML फॉर्मेटर
- Yarn फॉर्मेटर
- सीएसएस मिनीफायर
- Html Minifier
- Javascript Minifier
- जेएसओएन मिनीफायर
- XML मिनिफायर
- एचटीटीपी हेडर्स दर्शक
- पीडीएफ से टेक्स्ट
- रेगेक्स परीक्षक
- एसईआरपी रैंक जांचकर्ता
- Whois लुकअप