मुफ्त कनवर्टर

Base64 एन्कोडर / डिकोडर

अपने ब्राउज़र में टेक्स्ट या फ़ाइलों को Base64 में एन्कोड करें और Base64 स्ट्रिंग को डिकोड करें। मुफ्त, निजी, और कोई अपलोड नहीं।

इस टूल के बारे में

बेस64 एक एन्कोडिंग योजना है जो 64 मुद्रण योग्य वर्णों का उपयोग करके बाइनरी डेटा को एएससीआईआई टेक्स्ट के रूप में प्रस्तुत करती है: ए-जेड, ए-जेड, 0-9, प्लस (+), और स्लैश (/), पैडिंग के लिए उपयोग किए जाने वाले बराबर (=) के साथ। प्रारूप को मूल रूप से बाइनरी अटैचमेंट को 7-बिट-क्लीन ईमेल ट्रांसपोर्ट से बचाने के लिए डिज़ाइन किया गया था, लेकिन आज इसका विस्तार दर्जनों उपयोगों में हो गया है: HTML में डेटा यूआरएल, छवि डेटा वाले JSON, JWT पेलोड, बुनियादी प्रमाणीकरण हेडर और कोई भी टेक्स्ट-आधारित प्रोटोकॉल जिसमें बाइट्स ले जाने की आवश्यकता होती है।

एन्कोडिंग इनपुट के 3 बाइट्स लेता है और आउटपुट के 4 ASCII वर्ण उत्पन्न करता है। इसलिए आउटपुट इनपुट से 33% लंबा है - जो कि बाइनरी को टेक्स्ट-सुरक्षित प्रारूप में फिट करने की लागत है। डिकोडिंग प्रक्रिया को बिल्कुल उलट देता है, एन्कोडेड टेक्स्ट से मूल बाइट्स को पुनर्प्राप्त करता है।

यह उपकरण दोनों दिशाओं को संभालता है। एनकोड मोड टेक्स्ट इनपुट (या अपलोड के माध्यम से एक बाइनरी फ़ाइल) लेता है और बेस 64 टेक्स्ट तैयार करता है। डिकोड मोड बेस64 टेक्स्ट लेता है और मूल टेक्स्ट या डाउनलोड करने योग्य बाइनरी उत्पन्न करता है। यूआरएल-सुरक्षित संस्करण (+ और / के स्थान पर - और _ का उपयोग करके) टोकन और पहचानकर्ताओं के लिए समर्थित है।

बेस64 का उपयोग क्यों करें?

बेस64 केवल-पाठ संदर्भों में बाइनरी डेटा एम्बेड करने का मानक तरीका है। HTML में इनलाइन छवियां डेटा URL (डेटा: छवि/पीएनजी; बेस64,...) का उपयोग करती हैं, इसलिए एक छोटा आइकन बिना किसी अलग अनुरोध के पृष्ठ के साथ भेजा जा सकता है। छवियों, प्रमाणपत्रों या हस्ताक्षरों को ले जाने वाले JSON पेलोड उन्हें बेस 64 स्ट्रिंग्स के रूप में एन्कोड करते हैं। JWT टोकन तीन बेस 64-एन्कोडेड खंड हैं जो बिंदुओं द्वारा अलग किए गए हैं।

बेस64 उन प्रोटोकॉल के लिए कैरेक्टर हैंडलिंग को भी सामान्य बनाता है जो 8-बिट बाइनरी को गलत तरीके से संभालते हैं। प्रमाणीकरण हेडर (बेसिक ऑथ बेस64 का उपयोग करता है), ईमेल अटैचमेंट, कुंजियों वाली कॉन्फ़िगरेशन फ़ाइलें, और कई एपीआई को बेस64 की आवश्यकता होती है क्योंकि बाइनरी विश्वसनीय रूप से उनकी पाइपलाइनों से नहीं गुजर सकती है।

कैसे उपयोग करें

डेटा चिपकाएँ, दिशा चुनें.

  1. एन्कोड या डिकोड चुनें: एनकोड बाइनरी या टेक्स्ट इनपुट से बेस 64 टेक्स्ट उत्पन्न करता है। डिकोड प्रक्रिया को उलट देता है।
  2. इनपुट जोड़ें: एन्कोडिंग के लिए, टेक्स्ट पेस्ट करें या बाइनरी फ़ाइल अपलोड करें। डिकोडिंग के लिए, बेस64 टेक्स्ट पेस्ट करें। टूल स्वचालित रूप से URL-सुरक्षित संस्करण का पता लगाता है।
  3. कनवर्ट करें: ब्राउज़र एन्कोडिंग के लिए btoa और डिकोडिंग के लिए atob का उपयोग करता है (गैर-ASCII टेक्स्ट के लिए UTF-8 हैंडलिंग के साथ)। आउटपुट सटीक और नियतात्मक है.
  4. कॉपी करें या डाउनलोड करें: एन्कोडेड टेक्स्ट को यूआरएल, जेएसओएन, एचटीएमएल डेटा यूआरएल या किसी टेक्स्ट-आधारित प्रोटोकॉल में एम्बेड किया जा सकता है। पता लगाए गए फ़ाइल प्रकार के आधार पर उचित एक्सटेंशन के अनुमान के साथ एक फ़ाइल के रूप में डिकोडेड बाइनरी डाउनलोड।

सामान्य उपयोग के मामले

तकनीकी विवरण

बेस64 इनपुट के प्रत्येक 6 बिट को 64 आउटपुट वर्णों में से एक पर मैप करता है। तीन इनपुट बाइट्स (24 बिट्स) चार आउटपुट कैरेक्टर उत्पन्न करते हैं। जब इनपुट लंबाई 3 का गुणक नहीं होती है, तो एनकोडर आउटपुट को 4 वर्णों के गुणज में पैड करने के लिए एक या दो बराबर चिह्न जोड़ता है।

यूआरएल-सुरक्षित बेस64 (आरएफसी 4648 अनुभाग 5 में परिभाषित) यूआरएल और फ़ाइल नामों में आगे भागने के बिना उपयोग करने के लिए सुरक्षित स्ट्रिंग उत्पन्न करने के लिए + को - और / के साथ _ से प्रतिस्थापित करता है। यूआरएल-सुरक्षित संदर्भों में पैडिंग बराबर चिह्न कभी-कभी छोड़ दिए जाते हैं; डिकोडर आम तौर पर दोनों रूपों को स्वीकार करते हैं।

जावास्क्रिप्ट के btoa और atob सीधे ASCII को संभालते हैं लेकिन गैर-ASCII स्ट्रिंग्स पर विफल हो जाते हैं। UTF-8 टेक्स्ट के लिए, कनवर्टर टेक्स्ट और बाइनरी के बीच कनवर्ट करने के लिए TextEncoder/TextDecoder का उपयोग करता है, फिर बेस 64 बाइनरी को एनकोड करता है। यह इमोजी, उच्चारण वर्णों और गैर-लैटिन लिपियों को सही ढंग से संभालता है।

सर्वोत्तम प्रथाएँ

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

बेस64 एन्कोडिंग का उपयोग किसके लिए किया जाता है?
Base64 बाइनरी डेटा को ASCII टेक्स्ट में परिवर्तित करता है। सामान्य उपयोगों में HTML (डेटा यूआरआई) में छवियों को एम्बेड करना, ईमेल अटैचमेंट को एन्कोड करना, JSON एपीआई में बाइनरी डेटा ट्रांसमिट करना और टेक्स्ट-आधारित डेटाबेस में बाइनरी ब्लॉब्स को संग्रहीत करना शामिल है।
क्या बेस64 एन्कोडिंग मेरे डेटा को एन्क्रिप्ट करता है?
नहीं, Base64 एक एन्कोडिंग है, एन्क्रिप्शन नहीं। कोई भी Base64 स्ट्रिंग को डिकोड कर सकता है। इसे सुरक्षित डेटा परिवहन के लिए डिज़ाइन किया गया है, सुरक्षा के लिए नहीं। संवेदनशील डेटा के लिए वास्तविक एन्क्रिप्शन (एईएस, आरएसए) का उपयोग करें।
बेस64 फ़ाइल का आकार क्यों बढ़ाता है?
बेस64 इनपुट के प्रत्येक 3 बाइट्स को 4 ASCII वर्णों के रूप में दर्शाता है, जिसके परिणामस्वरूप लगभग 33% आकार में वृद्धि होती है। टेक्स्ट प्रारूपों में बाइनरी डेटा को सुरक्षित रूप से एम्बेड करने में सक्षम होने के लिए यह ट्रेड-ऑफ़ है।
क्या मैं छवियों को बेस64 पर एन्कोड कर सकता हूँ?
हाँ। एक छवि फ़ाइल अपलोड करें और टूल एक बेस64 स्ट्रिंग तैयार करेगा जिसे आप HTML या CSS में डेटा यूआरआई (डेटा:छवि/पीएनजी;बेस64,...) के रूप में उपयोग कर सकते हैं।
क्या JWT टोकन बेस64 हैं?
हाँ - JWT में बिंदुओं द्वारा अलग किए गए तीन बेस 64url-एन्कोडेड खंड होते हैं। पहला है हेडर, दूसरा है पेलोड, तीसरा है हस्ताक्षर।
क्या मेरा डेटा किसी सर्वर पर अपलोड किया गया है?
नहीं, एन्कोडिंग और डिकोडिंग आपके ब्राउज़र में btoa, atob, TextEncoder और TextDecoder का उपयोग करके होती है।
अधिकतम आकार क्या है?
50 एमबी तक. ब्राउज़र मेमोरी बहुत बड़े इनपुट के लिए व्यावहारिक आकार को सीमित करती है।
मेरा डिकोड किया गया आउटपुट कूड़े जैसा क्यों दिखता है?
सबसे अधिक संभावना यह है कि स्रोत बाइनरी था, टेक्स्ट नहीं। बाइनरी प्राप्त करने के लिए फ़ाइल-डाउनलोड मोड पर स्विच करें, या जांचें कि इनपुट वास्तव में बाइनरी के बजाय बेस 64-एन्कोडेड टेक्स्ट है।