> unix | क्लासिक | लेगेसी <
// UUencoding – टेक्स्ट‑केवल चैनलों पर बाइनरी डेटा भेजने के लिए Unix-to-Unix एन्कोडिंग प्रारूप
क्लासिक Unix मानक
दशकों तक Unix सिस्टम पर ईमेल अटैचमेंट, Usenet पोस्ट और फ़ाइल ट्रांसफ़र के लिए उपयोग किया गया ऐतिहासिक एन्कोडिंग स्कीम।
बेहतरीन कम्पैटिबिलिटी
कई Unix/Linux कमांड‑लाइन टूल और पुराने ईमेल क्लाइंट आज भी UUencode को समझते हैं।
स्व‑निहित फ़ॉर्मेट
begin/end लाइनों में फ़ाइल का नाम और परमिशन शामिल होते हैं, जिससे रिसीवर ओरिजिनल फ़ाइल को आसानी से पुनर्निर्मित कर सकता है।
>> तकनीकी विवरण
UUencoding कैसे काम करता है:
UUencoding बाइनरी डेटा को ASCII टेक्स्ट में बदलता है, जिसमें केवल प्रिंटेबल कैरेक्टर (स्पेस, ASCII 32 से शुरू) उपयोग किए जाते हैं। Base64 की तरह यह 3 बाइट्स को 4 कैरेक्टर में एन्कोड करता है, लेकिन कैरेक्टर सेट अलग है और begin/end लाइनों में फ़ाइल मेटाडेटा जोड़ा जाता है।
उदाहरण:
"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend
UUencoding कब उपयोग करें:
- >जब आपको लेगेसी Unix/Linux स्क्रिप्ट या वर्कफ़्लो के साथ कम्पैटिबिलिटी बनाए रखनी हो
- >जब टेक्स्ट‑केवल चैनल पर भी फ़ाइल नाम और परमिशन बचाए रखने हों
- >जब आप पुराने ईमेल/Usenet आर्काइव का विश्लेषण कर रहे हों
- >जब मौजूदा सिस्टम या प्रोटोकॉल UUencode फ़ॉर्मेट की अपेक्षा करते हों
- >जब आप डेवलपर टूल्स या माइग्रेशन स्क्रिप्ट में पुराने डेटा के साथ काम कर रहे हों
>> अक्सर पूछे जाने वाले सवाल
UUencoding क्या है?
UUencoding (Unix-to-Unix encoding) एक बाइनरी‑से‑टेक्स्ट एन्कोडिंग स्कीम है, जिसका उपयोग मूल रूप से केवल‑टेक्स्ट चैनलों (जैसे ईमेल और Usenet) पर बाइनरी फ़ाइलें भेजने के लिए किया जाता था।
UUencoding और Base64 में क्या अंतर है?
दोनों 3 बाइट्स को 4 कैरेक्टर में एन्कोड करते हैं, लेकिन UUencoding अलग कैरेक्टर सेट (स्पेस, ASCII 32 से शुरू) का उपयोग करता है और begin/end लाइनों में फ़ाइल नाम और परमिशन जैसी मेटाडेटा जानकारी जोड़ता है।
क्या आज भी UUencoding की ज़रूरत है?
आधुनिक प्रोजेक्ट में Base64 ज़्यादा आम है, लेकिन UUencoding समर्थन पुराने सिस्टम, लॉग और आर्काइव के साथ काम करने वाले डेवलपर्स के लिए अभी भी उपयोगी है।
यह ऑनलाइन टूल किसके लिए उपयोगी है?
सिस्टम एडमिन, SRE और डेवलपर्स जो पुरानी ईमेल/Usenet डेटा या Unix‑आधारित बैकअप और स्क्रिप्ट के साथ काम करते हैं, उनके लिए यह टूल बहुत सुविधाजनक है।
// त्वरित संदर्भ
| नाम | विवरण |
|---|---|
| Length char | byte count + 32 (45 bytes -> M) |
| Group | 3 bytes -> 4 chars, each 6 bits + 32 (space..underscore) |
| Zero value | backtick ` instead of space |
| Line | up to 45 bytes -> 60 chars |
| Header | begin 644 filename |
| Trailer | ` line, then end |
// हल किया गया उदाहरण
Input Cat (0x43 0x61 0x74) Bits 010000 110110 000101 110100 = 16 54 5 52 +32 48 86 37 84 -> 0 V % T Line #0V%T (# = 3 bytes + 32) begin 644 cat.txt #0V%T ` end
>> और प्रश्न
प्र: UUencode क्या है?
उ: यह Unix की ऐतिहासिक विधि (“Unix-to-Unix encode”) है जो बाइनरी डेटा को छपने योग्य ASCII वर्णों में बदलती है ताकि उसे ईमेल या Usenet से भेजा जा सके। 3 बाइट से 4 वर्ण बनते हैं, लगभग 33% अतिरिक्त।
प्र: UUencode Base64 से कैसे अलग है?
उ: दोनों 3 बाइट को 4 वर्णों में बदलते हैं। UUencode हर 6-बिट मान में 32 जोड़ता है (स्पेस से “_” तक के वर्ण), Base64 A–Z a–z 0–9 + / उपयोग करता है। UUencode हर पंक्ति में लंबाई वर्ण और फ़ाइल नाम व अनुमतियों वाली begin/end पंक्तियाँ भी जोड़ता है।
प्र: क्या UUencode अब भी इस्तेमाल होता है?
उ: कम ही। ईमेल में Base64 वाले MIME ने इसे काफ़ी हद तक बदल दिया है। यह पुराने Usenet संग्रहों और Unix टूल uuencode/uudecode में दिखता है। नए कामों के लिए Base64 बेहतर है।