8-बिट क्लीन

8-बिट क्लीन कंप्यूटर प्रणाली, कम्युनिकेशन चैनल और अन्य उपकरणों और सॉफ़्टवेयर की एक विशेषता है, जो 8-बिट कैरेक्टर एन्कोडिंग को सही पद्धति से नियंत्रण करते हैं। ऐसी एन्कोडिंग में ISO 8859 श्रृंखला और यूनिकोड की UTF-8 एन्कोडिंग सम्मिलित है।

इतिहास
1990 के दशक के प्रारम्भ तक, कई प्रोग्राम और डेटा ट्रांसमिशन चैनल करैक्टर ओरिएंटेड थे और कुछ कैरेक्टर, जैसे, ईटीएक्स, को कंट्रोल कैरेक्टर के रूप में मानते थे। अन्य ने 0 और 127 के बीच मानों के साथ सात-बिट कैरेक्टर की एक स्रोत मान ली, उदाहरण के लिए, ASCII मानक डेटा ट्रांसमिशन लागत को बचाने के लिए 8-बिट प्रतिनिधित्व से बचते हुए, प्रति कैरेक्टर केवल 7 बिट्स का उपयोग करता है। 8-बिट बाइट्स का उपयोग करने वाले कंप्यूटर और डेटा लिंक पर इसने प्रत्येक बाइट के शीर्ष बिट को पैरीटी फ़्लैग बिट या मेटा डेटा नियंत्रण बिट के रूप में उपयोग के लिए स्वतंत्र छोड़ दिया। 7-बिट सिस्टम और डेटा लिंक अधिक काम्प्लेक्स कैरेक्टर कोड को सीधे संभालने में असमर्थ हैं जो बड़े कैरेक्टर वाले दूसरे-अंग्रेजी भाषा-भाषी देशों में सामान्य हैं।

ऑक्टेट की बाइनरी फ़ाइलें 7-बिट डेटा चैनलों के माध्यम से सीधे ट्रांसमिटेड नहीं की जा सकतीं। इसके आसपास काम करने के लिए, बाइनरी-टू-टेक्स्ट एन्कोडिंग तैयार की गई है जो केवल 7-बिट ASCII कैरेक्टर का उपयोग करती है। इनमें से कुछ एन्कोडिंग यूयूएन्कोडिंग, एएससीआईआई85( Ascii85), एसआरईसी (SREC), बिनहेक्स (BinHex), केर्मिट (kermit) और एमआईएमई (MIME) का बेस 64 हैं।  EBCDIC -आधारित सिस्टम यूयूएनकोडेड डेटा में उपयोग किए गए सभी कैरेक्टर को नियंत्रण नहीं सकते हैं। यद्यपि, बेस 64 एन्कोडिंग में यह समस्या नहीं है।

एसएमटीपी (SMTP) और एनएनटीपी (NNTP) 8-बिट क्लीन
इतिहास संबंधी रूप से, मैसेजों को स्थानांतरित करने के लिए विभिन्न मीडिया का उपयोग किया जाता था, उनमें से कुछ केवल 7-बिट डेटा का समर्थन करते थे, इसलिए 20वीं शताब्दी में ट्रांसमिशन के दौरान 8-बिट मैसेज के गारब्लेड होने की उच्च संभावना थी। लेकिन कुछ कार्यान्वयनों ने वास्तव में 8-बिट डेटा को औपचारिक रूप से हतोत्साहित करने की बचाव नहीं की और उच्च बिट सेट बाइट्स को पारित करने की अनुमति दी। ऐसे कार्यान्वयन को 8-बिट क्लीन कहा जाता है। सामन्यतः, एक कम्युनिकेशन प्रोटोकॉल को 8-बिट क्लीन कहा जाता है यदि यह कम्युनिकेशन प्रक्रिया में प्रत्येक बाइट के उच्च बिट से सही पद्धति से गुजरता है।

कई प्रारंभिक कम्युनिकेशन प्रोटोकॉल मानक, जैसे (एसएमटीपी के लिए),  (एनएनटीपी के लिए) और, ऐसे 7-बिट कम्युनिकेशन लिंक पर काम करने के लिए डिज़ाइन किए गए थे। उन्हें विशेष रूप से 8-बिट बाइट के रूप में प्रसारित ASCII कैरेक्टर सेट के उपयोग की आवश्यकता होती है,  "उच्च-क्रम बिट को शून्य पर क्लीन करने के साथ 8-बिट बाइट के रूप में प्रेषित"  और इनमें से कुछ स्पष्ट रूप से सभी डेटा को 7-बिट करैक्टर तक सीमित करते हैं।

ईमेल नेटवर्क के पहले कुछ दशकों (1971 से 1990 के प्रारंभ तक) में, अधिकांश ईमेल मैसेज 7-बिट यूएस-एएससीआईआई करैक्टर सेट में प्लेन टेक्स्ट थे।

SMTP की RFC 788 परिभाषा, अपने पूर्ववर्ती की तरह, इंटरनेट मेल को 7-बिट US-ASCII कैरेक्टर की पंक्तियों (1000 कैरेक्टर या उससे कम) तक सीमित करता है।

बाद में उन मैसेजों का समर्थन करने के लिए ईमेल मैसेजों के प्रारूप को फिर से परिभाषित किया गया जो पूरी तरह से यूएस-एएससीआईआई टेक्स्ट नहीं हैं (यूएस-एएससीआईआई के अलावा अन्य करैक्टर सेट में टेक्स्ट मैसेज, और नॉन-टेक्स्ट मैसेज, जैसे ऑडियो और छवियां)।

निर्दिष्ट करता है कि एनएनटीपी किसी भी विश्वसनीय द्वि-दिशात्मक 8-बिट-वाइड डेटा स्ट्रीम चैनल पर संचालित होता है। और कमांड के लिए सेट किए गए कैरेक्टर को UTF-8 में बदल देता है। यद्यपि, अभी भी कैरेक्टर सेट को ASCII तक सीमित करता है, जिसमें  और  नॉन-ASCII डेटा की MIME एन्कोडिंग सम्मिलित है।

इंटरनेट कम्युनिटी सामान्यतः विस्तार द्वारा सुविधाओं को जोड़ता है, जिससे उन्नत मशीनों और अभी तक अपग्रेड नहीं की गई मशीनों के बीच दोनों दिशाओं में कम्युनिकेशन की अनुमति मिलती है, न कि पहले के मानकों के अनुरूप विरासत सॉफ़्टवेयर को "टूटा हुआ" की घोषणा करने और इस बात पर ज़ोर देने के लिए कि संसार भर के सभी सॉफ़्टवेयर को नवीनतम मानक में अपग्रेड किया जाए। 1990 के दशक के मध्य में, लोग सिर्फ" 8 बिट्स ( एसएमटीपी सर्वर) भेजने" पर आपत्ति जताई, संभवतः इस धारणा के कारण कि "केवल 8 बिट भेजना" एक अंतर्निहित घोषणा है कि आईएसओ 8859-1 नया "मानक एन्कोडिंग" बन गया है, जो संसार में सभी को समान करैक्टर सेट का उपयोग करने के लिए मजबूर करता है। इसके स्थान पर, मशीनों के बीच 8-बिट-क्लीन लिंक का लाभ उठाने का अनुशंसित तरीका मैसेज निकायों के लिए ईएसएमटीपी   8 बिटमाइम एक्सटेंशन  और संदेश हेडर के लिए SMTP SMTPUTF8 एक्सटेंशन का उपयोग करना है  इसके स्थान पर, कुछ  मेल ट्रांसफर एजेंट, विशेष रूप से एग्जिम और  क्यूमेल, उन सर्वरों पर मेल रिले करते हैं जो. द्वारा आवश्यक 7-बिट MIME (सामान्यतः उद्धृत-मुद्रण योग्य, "Q-P रूपांतरण") में रूपांतरण किए बिना 8BITMIME का विज्ञापन नहीं करते हैं। यह जस्ट-सेंड-8 दृष्टिकोण वास्तव में व्यवहार में समस्या उत्पन्न नहीं करता है, क्योंकि वस्तुतः सभी आधुनिक ईमेल सर्वर 8-बिट क्लीन हैं।