टेक्स्ट एनकोडर और डिकोडर
Base64, URL एन्कोडिंग, HTML एंटिटी या यूनिकोड एस्केप चुनें, टेक्स्ट टाइप करें या पेस्ट करें, और उसे टाइप करते ही एनकोड या डिकोड होते देखें। स्वैप बटन आउटपुट को अगला इनपुट बना देता है, ताकि आप एक राउंड-ट्रिप जाँच सकें। निःशुल्क, साइन-अप नहीं, और आपका टेक्स्ट आपके ब्राउज़र में बदला जाता है, कभी अपलोड नहीं होता।
टेक्स्ट एनकोडर और डिकोडर का उपयोग कैसे करें
- 1. फ़ॉर्मेट चुनें। Base64, URL एन्कोडिंग, HTML एंटिटी या यूनिकोड एस्केप; हर कार्ड बताता है कि वह किस काम के लिए है।
- 2. एनकोड या डिकोड चुनें। एनकोड पढ़ने योग्य टेक्स्ट को फ़ॉर्मेट में बदलता है; डिकोड उसे वापस बदलता है।
- 3. टाइप करें या पेस्ट करें। आउटपुट टाइप करते ही दिखता है। कुछ भी सबमिट नहीं होता।
- 4. कॉपी करें या स्वैप करें। क्लिपबोर्ड पर कॉपी करें आउटपुट कॉपी करता है। इनपुट/आउटपुट बदलें आउटपुट को इनपुट बॉक्स में ले जाता है और दिशा पलट देता है, जो राउंड-ट्रिप की पुष्टि का सबसे तेज़ तरीका है।
किस काम के लिए कौन-सा एनकोडिंग
| फ़ॉर्मेट | किस काम के लिए | मानक | आउटपुट |
|---|---|---|---|
| Base64 | केवल-टेक्स्ट माध्यमों से बाइट ले जाना: ईमेल अटैचमेंट, डेटा URI, टोकन, JSON | RFC 4648 | अक्षर, अंक, +, / और = पैडिंग; लगभग एक-तिहाई लंबा |
| URL एन्कोडिंग | क्वेरी स्ट्रिंग या पाथ सेगमेंट के भीतर टेक्स्ट को सुरक्षित रूप से रखना | RFC 3986 | हर असुरक्षित बाइट % और दो हेक्स अंक के रूप में |
| HTML एंटिटी | वेब पेज में <, & और नॉन-ASCII कैरेक्टर दिखाना | HTML कैरेक्टर रेफ़रेंस | é जैसे दशमलव संख्यात्मक रेफ़रेंस |
| यूनिकोड एस्केप | JavaScript, JSON या Java सोर्स में नॉन-ASCII कैरेक्टर लिखना | JSON (RFC 8259), ECMAScript | हर कैरेक्टर के लिए \u और चार हेक्स अंक |
एनकोडिंग एन्क्रिप्शन नहीं है। चारों सार्वजनिक, पलटे जा सकने वाले रूपांतरण हैं, बिना कुंजी के, इसलिए कोई भी इन्हें डिकोड कर सकता है। Base64 को अक्सर सुरक्षा समझ लिया जाता है; यह केवल बाइट लिखने का ढंग बदलता है।
हल किया गया उदाहरण
यह टेक्स्ट Café & crème ☕ हर फ़ॉर्मेट से गुज़रकर, टूल के आउटपुट के रूप में:
| फ़ॉर्मेट | एनकोडेड |
|---|---|
| Base64 | Q2Fmw6kgJiBjcsOobWUg4piV |
| URL एन्कोडिंग | Caf%C3%A9%20%26%20cr%C3%A8me%20%E2%98%95 |
| HTML एंटिटी | Café & crème ☕ |
| यूनिकोड एस्केप | Caf\u00e9 & cr\u00e8me \u2615 |
देखें कि हर एक क्या अछूता छोड़ता है। HTML एन्कोडिंग ऐम्परसैंड को & लिखती है, पर सादे अक्षर और स्पेस रखती है। यूनिकोड एस्केप केवल कोड 127 से ऊपर के कैरेक्टर बदलता है, इसलिए ऐम्परसैंड वैसा ही रहता है। URL एन्कोडिंग पूरी स्ट्रिंग को UTF-8 बाइटों के रूप में फिर से लिखती है: é के दो बाइट C3 A9 हैं, इसलिए %C3%A9, और स्पेस %20 है। Base64 सब कुछ फिर से लिखता है, क्योंकि यह पूरी स्ट्रिंग के UTF-8 बाइटों पर तीन-तीन के समूहों में काम करता है।
जिन बातों में लोग उलझते हैं
- URL एन्कोडिंग पूरे URL के लिए नहीं, कॉम्पोनेंट के लिए है। टूल अक्षरों, अंकों और
- _ . ! ~ * ' ( )को छोड़कर हर चीज़ एनकोड करता है, इसलिएa b&c=d/e?fबन जाता हैa%20b%26c%3Dd%2Fe%3Ff। स्लैश, कोलन और प्रश्न चिह्न भी एनकोड होते हैं, जो किसी मान के लिए सही है, पर पूरे एड्रेस को तोड़ देगा। - स्पेस %20 बनता है, और प्लस चिह्न डिकोड नहीं होते। फ़ॉर्म डेटा स्पेस के लिए
+इस्तेमाल करता है, पर यहाँ डिकोड करने परa+b%20cबनता हैa+b c। - Base64 मानक वर्णमाला से एनकोड होता है। डिकोड करते समय URL-सेफ़ Base64 भी स्वीकार होता है, जो
+और/की जगह-और_लिखता है, और=पैडिंग गायब हो सकती है। एनकोडिंग हमेशा+,/और पैडिंग लिखती है, इसलिए URL-सेफ़ रूप चाहिए तो उन्हें बदल दें। - U+FFFF से ऊपर के इमोजी और अन्य कैरेक्टर HTML एन्कोडिंग में एक-एक कैरेक्टर माने जाते हैं, और हर एक के लिए एक रेफ़रेंस लिखा जाता है (😀 →
😀)। यूनिकोड एस्केप उन्हें दो सरोगेट एस्केप में लिखता है (😀 →\ud83d\ude00), जिसे JavaScript और JSON स्वीकार करते हैं। - डिकोडिंग की ग़लतियाँ आउटपुट बॉक्स में वर्गाकार कोष्ठक में दिखती हैं, जैसे
[Error: invalid Base64 input], अलग संदेश के रूप में नहीं।
आपको कौन-सा उपकरण चाहिए?
यह पृष्ठ वेब के लिए टेक्स्ट बदलता है। टेक्स्ट के कच्चे बाइट के लिए हेक्स परिवर्तक (हेक्साडेसिमल बाइट) या बाइनरी ट्रांसलेटर (8-बिट समूह) इस्तेमाल करें। कैरेक्टर संख्याओं के लिए ASCII कन्वर्टर दशमलव कोड देता है। किसी संख्या को एक आधार से दूसरे में बदलने के लिए संख्या आधार है। Base32, Base58 और Ascii85 के लिए Base Encoding Converter की योजना है।
अक्सर पूछे जाने वाले प्रश्न
- यह टूल कौन-से एन्कोडिंग फ़ॉर्मेट समर्थित करता है?
- चार: Base64 (RFC 4648), URL परसेंट-एन्कोडिंग, HTML दशमलव संख्यात्मक एंटिटी, और यूनिकोड
\uएस्केप। इनमें से हर एक को एनकोड या डिकोड किया जा सकता है। - Base64 किसलिए इस्तेमाल होता है?
- यह बाइनरी डेटा को 64 छपने योग्य कैरेक्टरों से दर्शाता है, ताकि वह टेक्स्ट के लिए बने सिस्टमों से गुज़र सके: ईमेल अटैचमेंट, इमेज एम्बेड करने वाले
data:URI, HTTP बेसिक-ऑथ हेडर, और JSON Web Token के सेगमेंट। इससे डेटा लगभग 33% बड़ा हो जाता है और इससे कोई गोपनीयता नहीं मिलती। - URL एन्कोडिंग कब इस्तेमाल करूँ?
- जब भी उपयोगकर्ता का दिया टेक्स्ट URL के किसी हिस्से में जाए — क्वेरी मान, पाथ सेगमेंट, फ़्रैगमेंट — क्योंकि स्पेस, ऐम्परसैंड, बराबर चिह्न, नॉन-ASCII अक्षर और ऐसे ही कैरेक्टर अन्यथा ग़लत पढ़े जाएँगे। टुकड़ों को एनकोड करें, पूरे एड्रेस को नहीं।
- क्या एनकोडिंग एन्क्रिप्शन जैसी है?
- नहीं। एनकोडिंग डेटा को इस तरह लिखती है कि उसे संग्रहीत या भेजा जा सके; कोई भी उसे पलट सकता है, और इसमें कोई कुंजी नहीं होती। एन्क्रिप्शन के लिए गुप्त कुंजी चाहिए। पासवर्ड या टोकन छिपाने के लिए Base64 या परसेंट-एन्कोडिंग कभी इस्तेमाल न करें।
- क्या यह URL-सेफ़ Base64 डिकोड कर सकता है?
- हाँ।
-और_वाली URL-सेफ़ स्ट्रिंग,=पैडिंग के साथ या उसके बिना, चिपकाएँ और वह डिकोड हो जाती है। एनकोडिंग मानक वर्णमाला लिखती है, इसलिए URL-सेफ़ रूप चाहिए तो+को-और/को_से ख़ुद बदलें। - डिकोडर कौन-सी HTML एंटिटी समझता है?
- U+FFFF तक के कैरेक्टरों के लिए दशमलव रेफ़रेंस (
é) और हेक्स रेफ़रेंस (é), और नामित एंटिटी की एक छोटी सूची:&,<,>,",', ,©,®,™,€,£,¥,¢,—,–,«,»और…।éजैसी अन्य नामित एंटिटी जैसी टाइप की गई हैं वैसी ही छोड़ दी जाती हैं। - क्या मेरा टेक्स्ट कहीं अपलोड होता है?
- नहीं। चारों रूपांतरण आपके ब्राउज़र में टाइप करते ही चलते हैं, और CitationEasy को कुछ भी नहीं भेजा जाता।