Base64 एन्कोडर / डिकोडर
अपने ब्राउज़र में टेक्स्ट या फ़ाइलों को Base64 में एन्कोड करें और Base64 स्ट्रिंग को डिकोड करें। मुफ्त, निजी, और कोई अपलोड नहीं।
अपने ब्राउज़र में टेक्स्ट या फ़ाइलों को Base64 में एन्कोड करें और Base64 स्ट्रिंग को डिकोड करें। मुफ्त, निजी, और कोई अपलोड नहीं।
बेस64 एक एन्कोडिंग योजना है जो 64 मुद्रण योग्य वर्णों का उपयोग करके बाइनरी डेटा को एएससीआईआई टेक्स्ट के रूप में प्रस्तुत करती है: ए-जेड, ए-जेड, 0-9, प्लस (+), और स्लैश (/), पैडिंग के लिए उपयोग किए जाने वाले बराबर (=) के साथ। प्रारूप को मूल रूप से बाइनरी अटैचमेंट को 7-बिट-क्लीन ईमेल ट्रांसपोर्ट से बचाने के लिए डिज़ाइन किया गया था, लेकिन आज इसका विस्तार दर्जनों उपयोगों में हो गया है: HTML में डेटा यूआरएल, छवि डेटा वाले JSON, JWT पेलोड, बुनियादी प्रमाणीकरण हेडर और कोई भी टेक्स्ट-आधारित प्रोटोकॉल जिसमें बाइट्स ले जाने की आवश्यकता होती है।
एन्कोडिंग इनपुट के 3 बाइट्स लेता है और आउटपुट के 4 ASCII वर्ण उत्पन्न करता है। इसलिए आउटपुट इनपुट से 33% लंबा है - जो कि बाइनरी को टेक्स्ट-सुरक्षित प्रारूप में फिट करने की लागत है। डिकोडिंग प्रक्रिया को बिल्कुल उलट देता है, एन्कोडेड टेक्स्ट से मूल बाइट्स को पुनर्प्राप्त करता है।
यह उपकरण दोनों दिशाओं को संभालता है। एनकोड मोड टेक्स्ट इनपुट (या अपलोड के माध्यम से एक बाइनरी फ़ाइल) लेता है और बेस 64 टेक्स्ट तैयार करता है। डिकोड मोड बेस64 टेक्स्ट लेता है और मूल टेक्स्ट या डाउनलोड करने योग्य बाइनरी उत्पन्न करता है। यूआरएल-सुरक्षित संस्करण (+ और / के स्थान पर - और _ का उपयोग करके) टोकन और पहचानकर्ताओं के लिए समर्थित है।
बेस64 केवल-पाठ संदर्भों में बाइनरी डेटा एम्बेड करने का मानक तरीका है। HTML में इनलाइन छवियां डेटा URL (डेटा: छवि/पीएनजी; बेस64,...) का उपयोग करती हैं, इसलिए एक छोटा आइकन बिना किसी अलग अनुरोध के पृष्ठ के साथ भेजा जा सकता है। छवियों, प्रमाणपत्रों या हस्ताक्षरों को ले जाने वाले JSON पेलोड उन्हें बेस 64 स्ट्रिंग्स के रूप में एन्कोड करते हैं। JWT टोकन तीन बेस 64-एन्कोडेड खंड हैं जो बिंदुओं द्वारा अलग किए गए हैं।
बेस64 उन प्रोटोकॉल के लिए कैरेक्टर हैंडलिंग को भी सामान्य बनाता है जो 8-बिट बाइनरी को गलत तरीके से संभालते हैं। प्रमाणीकरण हेडर (बेसिक ऑथ बेस64 का उपयोग करता है), ईमेल अटैचमेंट, कुंजियों वाली कॉन्फ़िगरेशन फ़ाइलें, और कई एपीआई को बेस64 की आवश्यकता होती है क्योंकि बाइनरी विश्वसनीय रूप से उनकी पाइपलाइनों से नहीं गुजर सकती है।
डेटा चिपकाएँ, दिशा चुनें.
बेस64 इनपुट के प्रत्येक 6 बिट को 64 आउटपुट वर्णों में से एक पर मैप करता है। तीन इनपुट बाइट्स (24 बिट्स) चार आउटपुट कैरेक्टर उत्पन्न करते हैं। जब इनपुट लंबाई 3 का गुणक नहीं होती है, तो एनकोडर आउटपुट को 4 वर्णों के गुणज में पैड करने के लिए एक या दो बराबर चिह्न जोड़ता है।
यूआरएल-सुरक्षित बेस64 (आरएफसी 4648 अनुभाग 5 में परिभाषित) यूआरएल और फ़ाइल नामों में आगे भागने के बिना उपयोग करने के लिए सुरक्षित स्ट्रिंग उत्पन्न करने के लिए + को - और / के साथ _ से प्रतिस्थापित करता है। यूआरएल-सुरक्षित संदर्भों में पैडिंग बराबर चिह्न कभी-कभी छोड़ दिए जाते हैं; डिकोडर आम तौर पर दोनों रूपों को स्वीकार करते हैं।
जावास्क्रिप्ट के btoa और atob सीधे ASCII को संभालते हैं लेकिन गैर-ASCII स्ट्रिंग्स पर विफल हो जाते हैं। UTF-8 टेक्स्ट के लिए, कनवर्टर टेक्स्ट और बाइनरी के बीच कनवर्ट करने के लिए TextEncoder/TextDecoder का उपयोग करता है, फिर बेस 64 बाइनरी को एनकोड करता है। यह इमोजी, उच्चारण वर्णों और गैर-लैटिन लिपियों को सही ढंग से संभालता है।