परिचय
पेश है, Base64 डिकोड ऐंड एन्कोड। यह एक आसान ऑनलाइन टूल है, जिसका काम इसके नाम से ही पता चल जाता है। यह Base64 एन्कोडिंग से डिकोड करने के साथ-साथ उसमें जल्दी और आसानी से एन्कोड करता है। Base64 बिना किसी परेशानी के आपके डेटा को एन्कोड करता है या उसे ऐसे फ़ॉर्मेट में डिकोड करता है जिसे इंसान पढ़ सकें।
Base64 एन्कोडिंग स्कीम का इस्तेमाल आमतौर पर तब किया जाता है, जब बाइनरी डेटा को एन्कोड करना होता है। खासकर तब, जब उस डेटा को ऐसे मीडिया पर स्टोर और ट्रांसफ़र करना होता है, जिन्हें टेक्स्ट के साथ काम करने के लिए डिज़ाइन किया गया है। यह एन्कोडिंग यह पक्का करने में मदद करती है कि ट्रांसपोर्ट के दौरान, डेटा में कोई भी बदलाव न आए। Base64 का इस्तेमाल आमतौर पर कई ऐप्लिकेशन में किया जाता है, जिनमें MIME के ज़रिए ईमेल भेजना और साथ ही XML या JSON में कॉम्प्लेक्स डेटा को स्टोर करना शामिल है।
एडवांस विकल्प
(*) इन विकल्पों को एक साथ चालू नहीं किया जा सकता, क्योंकि उससे मिलने वाला आउटपुट ज़्यादातर ऐप्लिकेशन के लिए मान्य नहीं होगा।Base64 एन्कोडिंग स्कीम का इस्तेमाल आमतौर पर तब किया जाता है, जब बाइनरी डेटा को एन्कोड करना होता है। खासकर तब, जब उस डेटा को ऐसे मीडिया पर स्टोर और ट्रांसफ़र करना होता है, जिन्हें टेक्स्ट के साथ काम करने के लिए डिज़ाइन किया गया है। यह एन्कोडिंग यह पक्का करने में मदद करती है कि ट्रांसपोर्ट के दौरान, डेटा में कोई भी बदलाव न आए। Base64 का इस्तेमाल आमतौर पर कई ऐप्लिकेशन में किया जाता है, जिनमें MIME के ज़रिए ईमेल भेजना और साथ ही XML या JSON में कॉम्प्लेक्स डेटा को स्टोर करना शामिल है।
एडवांस विकल्प
- कैरेक्टर सेट: हमारी वेबसाइट UTF-8 कैरेक्टर सेट का इस्तेमाल करती है, इसलिए आपका इनपुट डेटा उसी फ़ॉर्मेट में भेजा जाता है। अगर आप एन्कोडिंग से पहले, डेटा को किसी अन्य कैरेक्टर सेट में बदलना चाहते हैं, तो इस विकल्प को बदलें। ध्यान दें कि टेक्स्ट डेटा के मामले में, एन्कोडिंग स्कीम में कैरेक्टर सेट नहीं होता है, इसलिए आपको डिकोडिंग प्रक्रिया के दौरान सही सेट बताना पड़ सकता है। फ़ाइलों के लिए बाइनरी विकल्प डिफ़ॉल्ट होता है, जिसे किसी भी फ़ॉर्म में कन्वर्ट नहीं किया जाएगा। सादे टेक्स्ट डॉक्यूमेंट को छोड़कर, हर चीज़ के लिए यह विकल्प ज़रूरी है।
- न्यूलाइन सेपरेटर: Unix और Window सिस्टम अलग-अलग लाइन ब्रेक कैरेक्टर का इस्तेमाल करते हैं, इसलिए एन्कोडिंग से पहले, आपके डेटा में मौजूद किसी एक वैरिएंट को चुने गए विकल्प से बदल दिया जाएगा। फ़ाइल सेक्शन के लिए, यह कुछ हद तक मायने नहीं रखता है, क्योंकि फ़ाइलों में पहले से ही उनके हिसाब से सेपरेटर होते हैं। हालाँकि, आप तय कर सकते हैं कि "हर लाइन को अलग से एन्कोड करें" और "लाइनों को टुकड़ों में बाँटें" फ़ंक्शन के लिए कौन-सा सेपरेटर इस्तेमाल करना है।
- हर लाइन को अलग से एन्कोड करें: यहाँ तक कि न्यूलाइन कैरेक्टर भी अपने Base64-एन्कोडिंग वाले फ़ॉर्म में बदल जाते हैं। अगर आप लाइन ब्रेक से अलग की गई कई अलग-अलग डेटा एंट्री को एन्कोड करना चाहते हैं, तो इस विकल्प का इस्तेमाल करें। (*)
- लाइनों को टुकड़ों में बाँटें: एन्कोड किया गया डेटा बिना किसी व्हाइटस्पेस वाला टेक्स्ट बन जाएगा, इसलिए अगर आप उसे कई लाइनों में बाँटना चाहते हैं, तो यह विकल्प चुनें। लागू की गई कैरेक्टर लिमिट, MIME (RFC 2045) स्पेसिफ़िकेशन में दी गई है। इसमें कहा गया है कि एन्कोड की गई लाइनें 76 कैरेक्टर से ज़्यादा लंबी नहीं होनी चाहिए। (*)
- यूआरएल-सेफ़ एन्कोडिंग करें: यूआरएल में स्टैंडर्ड Base64 का इस्तेमाल करने के लिए, "+", "/" और "=" कैरेक्टर को उनके पर्सेंट-एन्कोडेड फ़ॉर्म में एन्कोड करना पड़ता है। इससे, स्ट्रिंग बेवजह लंबी बन जाती है। इस विकल्प को यूआरएल और फ़ाइल नेम के लिए सही Base64 वैरिएंट (RFC 4648 /Base64URL) में एन्कोड करने के लिए चालू करें, जिसमें "+" और "/" कैरेक्टर को "-" और "_" से बदल दिया जाता है और साथ ही पैडिंग "=" चिह्न हटा दिए जाते हैं।
- लाइव मोड: इस विकल्प को चालू करने पर, आपके ब्राउज़र के बिल्ट-इन JavaScript फ़ंक्शंस की मदद से, डाला गया डेटा तुरंत एन्कोड हो जाता है। इसके लिए हमारे सर्वर पर कोई जानकारी नहीं भेजी जाती। फ़िलहाल, यह मोड सिर्फ़ UTF-8 कैरेक्टर सेट को सपोर्ट करता है।
पूरी तरह सुरक्षित
हमारे सर्वर के साथ होने वाले सभी संचार सुरक्षित SSL एन्क्रिप्टेड कनेक्शन (https) के ज़रिए आते हैं। हम अपलोड की गई फ़ाइलें प्रोसेस होने के तुरंत बाद, उन्हें अपने सर्वर से हटा देते हैं। इसके अलावा, डाउनलोड करने की पहली कोशिश या 15 मिनट तक कोई ऐक्टिविटी न होने (इनमें से जो भी कम हो) के तुरंत बाद, डाउनलोड की जा सकने वाली फ़ाइल हटा दी जाती है। हम सबमिट किए गए डेटा या अपलोड की गई फ़ाइलों के कॉन्टेंट को न तो किसी भी तरह अपने पास रखते हैं, न ही उनकी जाँच करते हैं। ज़्यादा जानकारी के लिए, नीचे दी गई हमारी निजता नीति पढ़ें।
बिल्कुल मुफ़्त
हमारा टूल मुफ़्त में इस्तेमाल किया जा सकता है। अब से, आपको ऐसे आसान कामों के लिए कोई सॉफ़्टवेयर डाउनलोड करने की ज़रूरत नहीं है।
Base64 एन्कोडिंग की जानकारी
Base64 ऐसी कई समान एन्कोडिंग स्कीम के लिए सामान्य शब्द है, जो बाइनरी डेटा को संख्या की तरह प्रोसेस करके और उसे Base64 फ़ॉर्मेट में ट्रांसलेट करके एन्कोड करती हैं। Base64 शब्द की उत्पत्ति एक खास MIME-कॉन्टेंट ट्रांसफ़र एन्कोडिंग से हुई है।
डिज़ाइन
Base64 के लिए ज़रूरी 64 कैरेक्टर बनाने के लिए, अलग-अलग इंप्लीमेंटेशन में अलग-अलग कैरेक्टर चुने जाते हैं। सामान्य नियम यह है कि 64 कैरेक्टर का ऐसा सेट चुनें, जो 1) ज़्यादातर एन्कोडिंग में शामिल सबसेट का हिस्सा हो और 2) प्रिंट भी हो सकता हो। इस कॉम्बिनेशन की वजह से, ईमेल जैसे सिस्टम के ज़रिए डेटा भेजते समय, डेटा में आमतौर पर कोई बदलाव नहीं होता। पहले, ये सिस्टम 8-बिट क्लीन नहीं होते थे। उदाहरण के लिए, MIME का Base64 इंप्लीमेंटेशन पहली 62 वैल्यू के लिए A-Z, a-z और 0-9 का और आखिरी दो वैल्यू के लिए "+" और "/" का इस्तेमाल करता है। अन्य वैरिएशन, जो आमतौर पर Base64 से बने हैं, उनमें भी यह प्रॉपर्टी होती है। मगर, आखिरी दो वैल्यू के लिए चुने गए चिह्न अलग होते हैं। उदाहरण के लिए, यूआरएल और फ़ाइल नेम सेफ़ "RFC 4648 / Base64URL" वैरिएंट, जो "-" और "_" का इस्तेमाल करता है।
उदाहरण
यहाँ थॉमस हॉब्स के लवायथान के एक क्वोट का हिस्सा दिया गया है:
"Man is distinguished, not only by his reason, but ..." ("मनुष्य अलग है, न केवल अपने तर्क के कारण, बल्कि ...")
इसे ASCII बाइट सीक्वेंस के तौर पर लिखा गया है और MIME की Base64 स्कीम में इस तरह एन्कोड किया गया है:
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCAuLi4=
ऊपर दिए गए क्वोट में, Man की एन्कोडेड वैल्यू TWFu है। इसे ASCII में एन्कोड किया गया है। "M", "a" और "n" अक्षरों को 77, 97, 110 बाइट्स के तौर पर स्टोर किया गया है, जो base-2 में "01001101", "01100001" और "01101110" के बराबर हैं। इन तीन बाइट्स को 24 बिट बफ़र में एक साथ जोड़ा जाता है, जिससे बाइनरी सीक्वेंस "010011010110000101101110" बनता है। 6 बिट्स के पैक (6 बिट्स में ज़्यादा से ज़्यादा 64 अलग-अलग बाइनरी वैल्यू होती हैं) को 4 संख्याओं (24 = 4 * 6 बिट्स) में बदल दिया जाता है, जिन्हें फिर Base64 में अपनी-अपनी वैल्यू में बदल दिया जाता है।
टेक्स्ट कॉन्टेंट | M | a | n | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ASCII | 77 | 97 | 110 | |||||||||||||||||||||
बिट पैटर्न | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
इंडेक्स | 19 | 22 | 5 | 46 | ||||||||||||||||||||
Base64-एन्कोडेड | T | W | F | u |
जैसा कि इस उदाहरण से पता चलता है, Base64 एन्कोडिंग 3 अनकोडेड बाइट्स (इस मामले में, ASCII कैरेक्टर) को 4 एन्कोडेड ASCII कैरेक्टर में बदल देती है।