Base64 एनकोड / डिकोड
टेक्स्ट को Base64 में बदलें या वापस डिकोड करें, टाइप करते ही लाइव। पूरा UTF-8 सपोर्ट, इसलिए एक्सेंट वाले अक्षर, इमोजी, और नॉन-लैटिन स्क्रिप्ट दोनों दिशाओं में सही तरीके से बरकरार रहती हैं।
Base64 किसलिए है
बाइनरी-सेफ़ टेक्स्ट, एन्क्रिप्शन नहीं।
Base64 किसी भी बाइट को केवल अक्षरों, अंकों, +, और / का उपयोग करने वाली एक स्ट्रिंग में बदल देता है, जो JSON, URL, या ईमेल में एम्बेड करने के लिए सुरक्षित है जहाँ रॉ बाइनरी टूट जाती। यह एन्क्रिप्शन नहीं है: कोई भी इसे तुरंत डिकोड कर सकता है, इसलिए यह अपने आप में कुछ भी छिपाता या सुरक्षित नहीं करता।
URL-सेफ़ वेरिएंट
स्टैंडर्ड Base64 के + और / कैरेक्टर का URL में खास मतलब होता है। URL-सेफ़ वेरिएंट इन्हें - और _ से बदल देता है और आखिरी = पैडिंग हटा देता है, इसलिए नतीजा सीधे किसी क्वेरी स्ट्रिंग या फ़ाइल नाम में जा सकता है।
यह कैसे काम करता है
एनकोड करते समय, आपका टेक्स्ट पहले ब्राउज़र के TextEncoder API से रॉ UTF-8 बाइट्स में बदला जाता है, और वे बाइट्स बिल्ट-इन btoa() फ़ंक्शन को दिए जाते हैं। यह पहला स्टेप मायने रखता है: अकेले btoa() सिर्फ़ Latin-1 कैरेक्टर हैंडल करता है और बाकी सब पर एरर देता है, इसलिए जो टूल इसे स्किप करते हैं वे इमोजी, एक्सेंट, या किसी भी नॉन-लैटिन स्क्रिप्ट पर चुपचाप टूट जाते हैं। डिकोडिंग उल्टे क्रम में वही पाइपलाइन चलाती है: atob() Base64 को वापस बाइट्स में बदलता है, और TextDecoder उन्हें वापस टेक्स्ट में जोड़ता है। डिकोडर जानबूझकर सहनशील भी है: यह व्हाइटस्पेस ट्रिम करता है, स्टैंडर्ड और URL-सेफ़ दोनों अल्फ़ाबेट स्वीकार करता है, और किसी भी हटाई गई = पैडिंग को वापस जोड़ देता है, इसलिए किसी JWT या क्वेरी स्ट्रिंग से सीधे कॉपी किया गया हिस्सा बिना हाथ से ठीक किए डिकोड हो जाता है।
उम्मीद करें कि आउटपुट इनपुट से लगभग 33% बड़ा होगा। Base64, 64 सिंबल का उपयोग करता है, और 64 सिंबल हर एक में सिर्फ़ 6 बिट्स ही ले जा सकते हैं, इसलिए इनपुट के हर 3 बाइट्स आउटपुट के 4 कैरेक्टर बन जाते हैं। इसी वजह से 1 MB की इमेज को Base64 डेटा URI के रूप में इनलाइन करने पर आपको लगभग 1.37 MB का HTML खर्च होता है, और इसी वजह से Base64 एक ट्रांसपोर्ट फ़ॉर्मैट है, कंप्रेशन फ़ॉर्मैट नहीं।
दोनों दिशाएं इस पेज के अपने जावास्क्रिप्ट में हर कीस्ट्रोक पर चलती हैं, सिर्फ़ btoa, atob, और आपके ब्राउज़र के पहले से मौजूद टेक्स्ट एन्कोडिंग API का उपयोग करते हुए। आप इसकी पुष्टि कर सकते हैं: डेवलपर टूल्स खोलें, नेटवर्क टैब पर जाएं, और जो चाहें टाइप करें। कोई भी रिक्वेस्ट कभी आपका टेक्स्ट कहीं नहीं ले जाती।