Xxencode और Xxdecode

टेक्स्ट, हेक्स बाइट या फ़ाइलों को xxencode से एनकोड करें, या xxencode ब्लॉक को डिकोड करके मूल डेटा वापस पाएँ। इसकी वर्णमाला में केवल अक्षर, अंक, प्लस और माइनस होते हैं।

पूरी तरह आपके ब्राउज़र में चलता है। कुछ भी अपलोड नहीं होता।

उपयोग कैसे करें

  1. xxencode ब्लॉक बनाने के लिए “एनकोड करें” चुनें, या किसी ब्लॉक को वापस डेटा में बदलने के लिए “डिकोड करें” चुनें।
  2. पूरा ब्लॉक पाने के लिए “begin / end लाइनें” चालू रहने दें और “फ़ाइल का नाम” सेट करें, या केवल डेटा लाइनें पाने के लिए इन्हें बंद कर दें।
  3. अपना इनपुट टाइप या पेस्ट करें, या कोई फ़ाइल खोलें। टाइप करते ही परिणाम अपडेट होता जाता है।
  4. परिणाम कॉपी करें या डाउनलोड करें। डिकोड करते समय, अगर डेटा टेक्स्ट नहीं है, तो हेक्स आउटपुट चुनें या फ़ाइल डाउनलोड करें।

xxencode क्या है?

Xxencode, uuencode का ढाँचा बनाए रखता है और केवल अक्षर बदलता है। हर 3 बाइट अब भी चार 6-बिट मान बनते हैं, डेटा लाइनों में अब भी एक लंबाई अक्षर के बाद अधिकतम 45 बाइट होते हैं, और ब्लॉक अब भी begin 644 name लाइन और end लाइन के बीच रहता है।

64 मान इसी क्रम में +, -, अंकों 0-9, बड़े अक्षरों A-Z और छोटे अक्षरों a-z से जोड़े जाते हैं। लंबाई अक्षर भी इसी तालिका का उपयोग करता है, इसलिए 45 बाइट की पूरी लाइन h से शुरू होती है, और end से पहले की ख़ाली लाइन एक अकेला + होती है। ढाँचा एक जैसा होने के कारण आउटपुट का आकार uuencode जितना ही होता है: लंबाई अक्षरों और लाइन ब्रेक को गिनकर, इनपुट से लगभग 38% बड़ा।

xxencode क्यों बनाया गया

uuencode आउटपुट [, ], \, ^ और ! जैसे विराम चिह्नों से भरा होता है। IBM मेनफ़्रेम ASCII के बजाय EBCDIC का उपयोग करते हैं, और ये अक्षर अलग-अलग EBCDIC कोड पेज में अलग-अलग स्थानों पर होते हैं। जब मेल ASCII और EBCDIC नेटवर्क के बीच के गेटवे से गुज़रता था, तो ऐसे अक्षरों का ग़लत रूपांतरण हो सकता था और फ़ाइल दूषित हो जाती थी।

अक्षर, अंक, प्लस और माइनस हर EBCDIC कोड पेज में एक जैसे होते हैं, इसलिए xxencode किया गया टेक्स्ट दोनों दिशाओं में बिना गड़बड़ी के बदल जाता है। बाद में MIME ने भी यही लक्ष्य हासिल किया: Base64 भी केवल अक्षरों, अंकों और कुछ ऐसे चिह्नों का उपयोग करता है जो ASCII और EBCDIC में एक जैसे हैं। Xxencode कभी uuencode जितना आम नहीं हुआ, और आख़िरकार Base64 ने दोनों की जगह ले ली।

uuencode और xxencode की तुलना

UuencodeXxencode
अक्षरASCII 32 से 95 तक, शून्य के लिए बैकटिक+ - 0-9 A-Z a-z
45 बाइट की पूरी लाइन की शुरुआतMh
end से पहले की आख़िरी लाइन`+
EBCDIC गेटवे से सुरक्षित गुज़रता हैनहींहाँ

तकनीकी विवरण

वर्णमाला+ - 0-9 A-Z a-z
आउटपुट का आकारलगभग 137%, लाइन प्रीफ़िक्स सहित
पैडिंगप्रति लाइन अधिकतम 45 बाइट
मानकxxencode
केस-संवेदीहाँ

उदाहरण

इनपुट (UTF-8)आउटपुट
Hello, World!begin 644 data.bin BG4JgP4wg63RjQalY6E++ + end
Base64.isbegin 644 data.bin 7Ea3nNHMo9aZn + end
你好begin 644 data.bin 4t9qUtOKx + end

अक्सर पूछे जाने वाले प्रश्न

uuencode और xxencode में फ़र्क कैसे पहचानें?
डेटा लाइनें देखें। xxencode की गई लाइनों में केवल अक्षर, अंक, प्लस और माइनस होते हैं, और पूरी लाइनें h से शुरू होती हैं। uuencode की गई लाइनों में विराम चिह्न होते हैं और पूरी लाइनें M से शुरू होती हैं। अगर यहाँ डिकोड करने पर अमान्य अक्षर की त्रुटि आती है, तो uuencode पेज आज़माएँ।
क्या टूल begin और end लाइनें लिखता है?
हाँ, डिफ़ॉल्ट रूप से यह आपके दर्ज किए गए फ़ाइल नाम के साथ begin 644 और समापन लाइनें लिखता है। अगर आपको केवल एनकोड की गई डेटा लाइनें चाहिए, तो यह विकल्प बंद कर दें।
क्या begin लाइन के बिना कोई ब्लॉक डिकोड किया जा सकता है?

हाँ। begin लाइन न होने पर हर ऐसी लाइन जो ख़ाली नहीं है, डेटा के रूप में डिकोड की जाती है। begin लाइन होने पर डिकोडिंग उसके बाद से शुरू होती है और end लाइन पर रुक जाती है, इसलिए आसपास का टेक्स्ट अनदेखा कर दिया जाता है।

क्या xxencode अब भी इस्तेमाल होता है?
बहुत कम। यह ज़्यादातर पुराने मेल और न्यूज़ आर्काइव में मिलता है। नए डेटा के लिए Base64 लगभग हर जगह समर्थित है और केवल टेक्स्ट वाले चैनलों के लिए उतना ही सुरक्षित है।