हिन्दी
Base64 एनकोड और डिकोड कैसे करें
यह Base64 एनकोडर और डिकोडर एक साथ दोनों दिशाओं में काम करता है। बाईं ओर सादा टेक्स्ट टाइप करें और दाईं ओर Base64 दिखने लगता है; दाईं ओर Base64 पेस्ट करें और बाईं ओर डिकोड किया टेक्स्ट आ जाता है। Hello बन जाता है SGVsbG8=, और SGVsbG8= पेस्ट करने पर वापस Hello मिलता है।
यही दो बॉक्स चार और फ़ॉर्मैट संभालते हैं: बाइनरी, हेक्स, URL एनकोडिंग और HTML एंटिटी। दाईं ओर कुछ पेस्ट करने पर टूल उसे देखकर मिलते-जुलते फ़ॉर्मैट पर चला जाता है, इसलिए 0 और 1 की लड़ी बिना कुछ चुने बाइनरी के रूप में पढ़ी जाती है। अगर आप गलती से एनकोड की गई स्ट्रिंग सादे टेक्स्ट वाले बॉक्स में पेस्ट कर दें, तो टूल उसे डिकोड करने का सुझाव देता है।
Base64 असल में क्या करता है
Base64 किसी भी बाइट को 64 सुरक्षित अक्षरों (A–Z, a–z, 0–9, + और /) में बदल देता है, ताकि बाइनरी डेटा टेक्स्ट के लिए बने सिस्टम से होकर जा सके: ईमेल, JSON, HTML एट्रिब्यूट, एनवायरनमेंट वेरिएबल। यह 3 बाइट (24 बिट) लेता है, उन्हें 6-6 बिट के चार टुकड़ों में बाँटता है और हर टुकड़े के लिए एक अक्षर लिखता है।
जब इनपुट 3 बाइट के गुणज में न हो, तो आखिर में = चिह्न भरे जाते हैं: Ma का TWE= और M का TQ==। Base64 एन्क्रिप्शन नहीं है। कोई भी इसे एक सेकंड में डिकोड कर सकता है, इसलिए Base64 में लिखे पासवर्ड को कभी छिपा हुआ न समझें।
स्टैंडर्ड या URL-सेफ़?
+ और / अक्षर URL और फ़ाइल नामों को तोड़ देते हैं, इसलिए URL-सेफ़ रूप उनकी जगह - और _ इस्तेमाल करता है और आमतौर पर पैडिंग हटा देता है। बाइट FB FF स्टैंडर्ड Base64 में +/8= और URL-सेफ़ रूप में -_8 होते हैं। JWT टोकन और कई API की URL-सेफ़ रूप इस्तेमाल करते हैं। डिकोड करते समय चुनने की ज़रूरत नहीं: दोनों वर्णमालाएँ, पैडिंग के साथ या बिना, स्वीकार होती हैं, और स्पेस या लाइन ब्रेक नज़रअंदाज़ कर दिए जाते हैं।
जब ईमेल बॉडी या PEM सर्टिफ़िकेट के लिए MIME जैसा आउटपुट चाहिए, तो हर 76 पर लाइन ब्रेक पर टिक करें।
हर फ़ॉर्मैट में आम अक्षर
यहाँ सब कुछ UTF-8 से होकर बदला जाता है, जो लगभग हर वेबसाइट और API की एनकोडिंग है। इसीलिए é दो बाइट और एक इमोजी चार बाइट लेता है। जो टूल यह कदम छोड़ देते हैं वे मात्रा वाले अक्षरों को बिगाड़ देते हैं, और ऑनलाइन Base64 डिकोडर से सबसे आम शिकायत यही है।
| अक्षर | Base64 | बाइनरी | हेक्स | URL |
|---|---|---|---|---|
| A | QQ== | 01000001 | 41 | A |
| a | YQ== | 01100001 | 61 | a |
| स्पेस | IA== | 00100000 | 20 | %20 |
| & | Jg== | 00100110 | 26 | %26 |
| é | w6k= | 11000011 10101001 | C3 A9 | %C3%A9 |
| € | 4oKs | 11100010 10000010 10101100 | E2 82 AC | %E2%82%AC |
टेक्स्ट से बाइनरी और बाइनरी से टेक्स्ट
बाइनरी चुनें और आपके टेक्स्ट का हर बाइट 8 बिट में लिखा जाता है। Hi बन जाता है 01001000 01101001। बिना टूटी एक लड़ी चाहिए तो बाइट के बीच स्पेस बंद कर दें।
बाइनरी से टेक्स्ट ट्रांसलेटर की तरह इस्तेमाल करने के लिए बिट्स दाईं ओर के बॉक्स में पेस्ट करें। 8-8 के समूह बाइट के रूप में पढ़े जाते हैं। कुछ वेबसाइटें ASCII को 7 बिट में छापती हैं (1001000 1101001); जब तक समूह स्पेस से अलग हैं, उनके आगे एक शून्य जोड़कर उन्हें सही पढ़ लिया जाता है। स्पेस न हों तो कुल बिट 8 के गुणज होने चाहिए, और एरर मैसेज बताता है कि कितने बिट मिले, ताकि आप छूटा हुआ अंक पकड़ सकें।
हेक्स भी इसी तरह काम करता है, हर बाइट के दो अंक। डिकोड करते समय 0x, \x, कोलन और कॉमा जैसे प्रीफ़िक्स और सेपरेटर हटा दिए जाते हैं, इसलिए आप सीधे डीबगर या C ऐरे से पेस्ट कर सकते हैं।
URL एनकोड और डिकोड
URL एनकोडिंग असुरक्षित अक्षरों को % और दो हेक्स अंकों से बदल देती है: स्पेस बनता है %20, é बनता है %C3%A9। सही दायरा चुनें:
- कंपोनेंट अक्षरों, अंकों और - _ . ! ~ * ' ( ) को छोड़कर सब कुछ एनकोड करता है। इसे किसी एक क्वेरी मान के लिए इस्तेमाल करें, जैसे ?q=rock%20%26%20roll। अगर यहाँ पूरा URL इस्तेमाल करते, तो & वैसा ही रहता और आपके पैरामीटर को दो हिस्सों में तोड़ देता।
- पूरा URL : / ? # & = को नहीं छूता, ताकि पूरा पता क्लिक करने लायक रहे।
- स्पेस को + लिखें वैसा ही है जैसे HTML फ़ॉर्म डेटा भेजते हैं। फ़ॉर्म सबमिशन या सर्च URL से कॉपी किया टेक्स्ट डिकोड करते समय इस पर टिक करें, वरना नतीजे में + चिह्न बने रहेंगे।
HTML एंटिटी
HTML मोड उन पाँच अक्षरों को एस्केप करता है जो मार्कअप तोड़ सकते हैं: & < > " और '। इसलिए <b> बन जाता है <b> और बोल्ड होने के बजाय टेक्स्ट के रूप में दिखता है। डिकोडिंग é और जैसी नाम वाली एंटिटी के साथ-साथ € (€) जैसी संख्या वाली एंटिटी भी समझती है।
इमेज से Base64 डेटा URI
नीचे वाले बॉक्स में फ़ाइल छोड़ें और उसका Base64 पाएँ, डेटा URI, सादी स्ट्रिंग, <img> टैग या CSS बैकग्राउंड के रूप में तैयार। साइज़ वाला हिस्सा कीमत दिखाता है। Base64 एक-तिहाई बढ़ा देता है, इसलिए यह सिर्फ़ 1 KB के आइकन जैसी छोटी चीज़ों के लिए फ़ायदेमंद है, जहाँ एक HTTP रिक्वेस्ट बचाना अतिरिक्त बाइट से ज़्यादा मायने रखता है। 200 KB की फ़ोटो के लिए सामान्य इमेज फ़ाइल बेहतर है: वह छोटी होती है, कैश होती है, और आपके HTML या CSS को फुलाती नहीं।
| फ़ाइल साइज़ | Base64 साइज़ |
|---|---|
| 1 KB (1,024 बाइट) | 1,368 अक्षर |
| 10 KB | 13,656 अक्षर |
| 50 KB | 68,268 अक्षर |
| 1 MB | 1,398,104 अक्षर |
उल्टा भी चलता है। दाईं ओर Base64 या डेटा URI पेस्ट करें, और अगर वह टेक्स्ट नहीं है, तो टूल शुरुआती बाइट पढ़कर फ़ाइल का प्रकार पहचानता है (PNG, JPEG, GIF, WebP, PDF, ZIP, MP3 और भी), इमेज का प्रीव्यू दिखाता है और सही एक्सटेंशन के साथ डाउनलोड का विकल्प देता है।
कुछ भी अपलोड नहीं होता। यहाँ यह आम से ज़्यादा मायने रखता है, क्योंकि लोग जो स्ट्रिंग डिकोड करते हैं वे अक्सर API की, सेशन टोकन और ईमेल अटैचमेंट होते हैं।
अक्सर पूछे जाने वाले सवाल
Base64 को डिकोड कैसे करें?
Base64 को दाएँ बॉक्स में पेस्ट करें, डिकोड हुआ टेक्स्ट तुरंत बाईं ओर दिखेगा। जैसे SGVsbG8= डिकोड होकर Hello बनता है। अगर नतीजा टेक्स्ट नहीं बल्कि इमेज या PDF है, तो उसकी जगह फ़ाइल के रूप में सेव करें बटन आ जाता है।
टेक्स्ट को बाइनरी में कैसे बदलें?
बाइनरी चुनें और बाईं ओर अपना टेक्स्ट टाइप करें। हर बाइट 8 बिट बनता है, इसलिए Hi बनता है 01001000 01101001। अंग्रेज़ी के बाहर के अक्षर, जैसे é या हिंदी के अक्षर, UTF-8 में दो या ज़्यादा बाइट लेते हैं, यानी 16 या ज़्यादा बिट।
बाइनरी कोड को वापस टेक्स्ट में कैसे बदलें?
बाइनरी चुनें और 0 और 1 को दाएँ बॉक्स में पेस्ट करें। 8 बिट के समूह बाइट की तरह पढ़े जाते हैं, इसलिए 01001000 01101001 से Hi बनता है। स्पेस से अलग 7 बिट के समूह भी चलते हैं, उनके आगे 0 जोड़ दिया जाता है।
इमेज को Base64 data URI में कैसे बदलें?
इमेज को नीचे वाले फ़ाइल बॉक्स में छोड़ें और नतीजा कॉपी करें। PNG बनती है data:image/png;base64,iVBORw0KGgo…, जिसे आप img src या CSS बैकग्राउंड में पेस्ट कर सकते हैं। यह फ़ाइल से लगभग 33% बड़ी होगी।
Base64 ओरिजिनल से लगभग 33% बड़ा क्यों होता है?
Base64 हर 3 बाइट को 4 अक्षरों में लिखता है, इसलिए 30 KB की इमेज लगभग 40 KB का टेक्स्ट बनती है। हर 76 अक्षर पर MIME लाइन ब्रेक लगभग 2.6% और जोड़ते हैं। इसीलिए data URI सिर्फ़ छोटी फ़ाइलों के लिए ठीक है।
Base64 और URL-safe Base64 में क्या फ़र्क है?
URL-safe Base64 में + की जगह - और / की जगह _ आता है, और अक्सर = पैडिंग हटा दी जाती है, ताकि टेक्स्ट URL या फ़ाइल नाम में आ सके। JWT टोकन यही इस्तेमाल करते हैं। यह डिकोडर दोनों तरह के अक्षर अपने-आप पहचान लेता है।
%20 और %3A वाले URL को डिकोड कैसे करें?
URL चुनें और टेक्स्ट दाईं ओर पेस्ट करें। %20 स्पेस बनता है और %3A कोलन, इसलिए https%3A%2F%2Fexample.com से https://example.com बनता है। अगर टेक्स्ट किसी फ़ॉर्म से आया है, जहाँ स्पेस + के रूप में लिखे जाते हैं, तो स्पेस को + पर टिक करें।
क्या मेरा टेक्स्ट या फ़ाइल सर्वर पर भेजी जाती है?
नहीं। सारी एनकोडिंग और डिकोडिंग आपके ब्राउज़र में JavaScript से होती है, इसलिए API की, टोकन और निजी फ़ाइलों के लिए भी यह सुरक्षित है।