इस पेज का कोड चालू नहीं हुआ।

index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए कोई फ़ाइल चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:

powershell -ExecutionPolicy Bypass -File serve.ps1

फिर http://localhost:8080/ खोलिए।

Base64 एनकोडर-डिकोडर — और URL, HTML एंटिटी, हेक्स और एस्केप

Base64, परसेंट एनकोडिंग, HTML एंटिटी, हेक्स और बैकस्लैश एस्केप, दोनों दिशाओं में। कुछ भी किसी और के सर्वर में चिपकाया नहीं जाता।

भाषा: हिन्दी
कोड देखें
यह टूल टेक्स्ट कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।

यहाँ की हर एनकोडिंग किसी लाइन पर की गई गणित है, और यहीं, इसी पेज में होती है। कोडेक हाथ से लिखे गए हैं और src/encode.js में मौजूद हैं, और इनके सिवा कुछ है ही नहीं। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं, इसलिए यहाँ से कुछ मँगाया भी नहीं जा सकता और भेजा भी नहीं जा सकता। यह बात लगभग कहीं और से ज़्यादा यहाँ मायने रखती है, क्योंकि लोग किसी ऑनलाइन Base64 डिकोडर में जो चिपकाते हैं वह टोकन होता है, और टोकन किसी और की वेबसाइट में चिपकाने का मतलब है उसे सौंप देना।

लाइव जाँच: जाँच जारी…

ऑफ़लाइन: जाँच जारी…

हमारी बात पर भरोसा मत कीजिए। DevTools खोलिए, Network टैब पर नज़र रखिए, और कुछ डिकोड कीजिए। एक भी रिक्वेस्ट आपके चिपकाए हुए का एक अक्षर तक नहीं ढोती। या फिर इंटरनेट काट दीजिए और तब भी उसे डिकोड करके देखिए।

1 एनकोडिंग चुनिए

किस दिशा में

2 इसे भीतर चिपकाइए

खाली

3 नतीजा ले जाइए

अभी कुछ नहीं।

 

Markdown के रूप में देखें

Base64 को बिना अपलोड किए कैसे एनकोड या डिकोड करें

  1. एनकोडिंग चुनिए। दोनों वर्णमालाओं में Base64, किसी एक मान या पूरे URL के लिए परसेंट एनकोडिंग, पाँच HTML एंटिटी, हेक्स बाइट, और स्ट्रिंग लिटरल वाले बैकस्लैश एस्केप। मेन्यू के नीचे की टिप्पणी बताती है कि कौन-सी किस काम की है।
  2. दिशा चुनिए। Encode सादा टेक्स्ट लेकर एनकोड किया हुआ रूप बनाता है; Decode एनकोड किए हुए रूप को सादे टेक्स्ट में लौटा लाता है। नतीजा आपकी टाइपिंग के साथ-साथ बदलता है, इसलिए दिशा बदलना एक क्लिक है और दोबारा कुछ नहीं लिखना पड़ता।
  3. इसे भीतर चिपकाइए, या फ़ाइल छोड़ दीजिए। जो कुछ भी आप चुनकर कॉपी कर सकते हैं वह चल जाता है। पिकर पर छोड़ी गई फ़ाइल आपका अपना ब्राउज़र पढ़कर डिब्बे में रख देता है, और छोड़ने को अपलोड वाला कोई कदम है ही नहीं।
  4. कोई त्रुटि हो तो पढ़ लीजिए। यहाँ नाकाम होने वाला डिकोडर बता देता है कि उसे क्या मिला — ऐसा अक्षर जो Base64 इस्तेमाल नहीं करता, गलत जगह पड़ी पैडिंग, ऐसे बाइट जो टेक्स्ट नहीं हैं — बजाय इसके कि कुछ भला-सा दिखने वाला मगर गलत लौटा दे।
  5. नतीजा ले जाइए। कॉपी कर लीजिए, या टेक्स्ट फ़ाइल की तरह डाउनलोड कर लीजिए। डिब्बे के नीचे की गिनती बताती है कि कितने बाइट भीतर गए और कितने बाहर आए।

सवाल

क्या मेरा टेक्स्ट कहीं अपलोड होता है?

नहीं। इस पेज का हर एनकोडर और हर डिकोडर एक फ़ंक्शन है जो आपके अपने ब्राउज़र में, आपके अपने हार्डवेयर पर चलता है। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं, यानी यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है। और पेज की Content-Security-Policy उन सारे पतों के नाम गिना देती है जिनसे यह संपर्क कर सकता है, जिनमें से एक भी इस साइट का नहीं है। किसी ऐक्सेस टोकन या सेशन कुकी के लिए इसे इस्तेमाल करने की वजह भी यही है, क्योंकि इनमें से कोई भी किसी और के डिकोडर में चिपकाने का मतलब है उसे वह दे देना।

क्या यहाँ का Base64 वही Base64 है जो बाकी हर जगह है?

हाँ, और इसे खुद अपने बजाय RFC 4648 के टेस्ट वेक्टरों से जाँचा जाता है। दोनों वर्णमालाएँ डिकोड होती हैं, इसलिए - और _ से लिखा JWT उतनी ही आसानी से पढ़ा जाता है जितना + और / से लिखा, और 64 अक्षरों पर लपेटा गया इनपुट आपके लिए खोल दिया जाता है। एनकोडिंग UTF-8 बाइटों के हिसाब से होती है, इसलिए कोई मात्रा वाला अक्षर या इमोजी पूरा चक्कर लगाकर भी बचा रहता है।

क्या Base64 एन्क्रिप्शन है?

नहीं, और इसे एन्क्रिप्शन समझ लेना ही सबसे जानी-पहचानी भूल है। Base64 एक लिखावट है: वही बाइट, ऐसी वर्णमाला में लिखे हुए जो URL, ईमेल या JSON स्ट्रिंग में सलामत रहती है। कोई भी उसे वापस पढ़ सकता है — यह पेज एक मिलीसेकंड में पढ़ लेता है — इसलिए यह न कुछ छिपाता है, न कुछ बचाता है। आपके पास जो है वह अगर राज़ है, तो उसे एनकोड होने से पहले असली एन्क्रिप्शन चाहिए, उसकी जगह पर नहीं।

डिकोडिंग नाकाम क्यों हुई?

क्योंकि चिपकाया हुआ ठीक वही नहीं है जो कोडेक को बताया गया था, और त्रुटि बता देती है कि किस तरफ़ से: Base64 की वर्णमाला से बाहर का कोई अक्षर, गलत जगह पड़ी पैडिंग, ऐसा परसेंट चिह्न जिसके बाद दो हेक्स अंक नहीं, या ऐसे बाइट जो Base64 से तो खुल जाते हैं मगर UTF-8 टेक्स्ट नहीं हैं — जिसका अक्सर मतलब है कि असल चीज़ कोई फ़ाइल थी, स्ट्रिंग नहीं। ब्राउज़र का अपना atob इसकी जगह कुछ भला-सा दिखने वाला लौटा देता; और बताया जाना ही तो किसी डिकोडर में कुछ चिपकाने का पूरा मतलब है।

वेब पते की दो एनकोडिंग में क्या फ़र्क है?

एक मान, या पूरा पता। एक मान एनकोड करना उस हर चीज़ को एस्केप कर देता है जिसे URL कोई मतलब देता है — स्लैश, प्रश्नचिह्न, एम्परसैंड — और क्वेरी स्ट्रिंग के अकेले पैरामीटर के लिए आपको यही चाहिए। पूरा URL एनकोड करना पते को चालू हालत में छोड़ता है: स्लैश और ? रह जाते हैं, और सिर्फ़ वे अक्षर एस्केप होते हैं जिन्हें URL ढो ही नहीं सकता। पहली को पूरे पते पर चलाइए तो पता टूट जाता है; दूसरी को किसी मान पर चलाइए तो यह खो जाता है कि मान कहाँ खत्म होता है।

यह कितनी बड़ी फ़ाइल सँभाल सकता है?

यहाँ कोई सीमा तय की ही नहीं गई है, क्योंकि उसका बिल चुकाने वाला कोई सर्वर ही नहीं। व्यावहारिक छत आपकी अपनी मशीन है, और कुछ मेगाबाइट का टेक्स्ट ठीक चलता है। बहुत लंबे दस्तावेज़ पर पेज आपकी टाइपिंग में एक ठहराव का इंतज़ार करता है और तब दोबारा एनकोड करता है, बजाय इसके कि कीबोर्ड के लिए आपसे झगड़े।

क्या यह मुफ़्त है, और क्या मुझे खाता चाहिए?

यह मुफ़्त है, और यहाँ न कोई खाता है, न साइन-इन, न ट्रायल, और न इस पर कोई सीमा कि आप कितना चिपकाएँ। साइट पर विज्ञापन हैं, और वही इसका खर्च उठाते हैं; विज्ञापनों को आपके टेक्स्ट के बारे में कुछ नहीं दिया जाता।

क्या यह ऑफ़लाइन चलता है?

हाँ। पेज एक बार लोड कर लीजिए, फिर इंटरनेट काट दीजिए और यह चलता रहेगा। यह साबित करने का भी सबसे आसान तरीका यही है कि कुछ अपलोड नहीं हो रहा: जो टूल आपका टेक्स्ट डिकोड करने के लिए कहीं भेजता, वह प्लग निकालते ही रुक जाता।