@ सथानिन ने रेमंड चेन के ब्लॉग से एक URL पोस्ट किया है, लेकिन यह अब काम नहीं करता है। ब्लॉग ने अपना आंतरिक सॉफ़्टवेयर बदल दिया है, इसलिए URL बदल गए हैं।
नए ब्लॉग में पुराने पोस्ट के माध्यम से क्रॉल करने के बाद मैंने इसे यहां पाया है ।
ब्लॉग से उद्धरण:
लाइन टर्मिनेटर CR + LF क्यों है?
यह प्रोटोकॉल टेलेटाइपरिटर्स के दिनों में वापस आता है। CR का मतलब "कैरिज रिटर्न" है - CR कंट्रोल कैरेक्टर ने पेपर को आगे बढ़ाए बिना कॉलम 0 पर प्रिंट हेड ("कैरिज") को लौटा दिया। LF "लाइनफीड" के लिए खड़ा है - LF नियंत्रण वर्ण प्रिंट हेड को स्थानांतरित किए बिना कागज एक लाइन को उन्नत करता है। इसलिए यदि आप प्रिंट हेड को कॉलम जीरो (अगली लाइन को प्रिंट करने के लिए तैयार) और पेपर को आगे बढ़ाना चाहते हैं (तो यह ताजा पेपर पर प्रिंट करता है), आपको सीआर और एलएफ दोनों की आवश्यकता है।
यदि आप विभिन्न इंटरनेट प्रोटोकॉल दस्तावेजों, जैसे RFC 0821 (SMTP), RFC 1939 (POP), RFC 2060 (IMAP), या RFC 2616 (HTTP) पर जाते हैं, तो आप देखेंगे कि वे सभी CR + LST के रूप में निर्दिष्ट करते हैं। लाइन समाप्ति का क्रम। तो असली सवाल "सीपी / एम, एमएस-डॉस, और Win32 लाइन टर्मिनेटर के रूप में सीआर + एलएफ का उपयोग क्यों नहीं करते हैं?" लेकिन इसके बजाय "अन्य लोगों ने इन मानकों के दस्तावेज़ों से अलग और कुछ अन्य लाइन टर्मिनेटर का उपयोग क्यों किया?"
यूनिक्स ने लाइन समाप्ति के क्रम के रूप में सादे एलएफ को अपनाया। यदि आप स्टेंट के विकल्पों को देखते हैं, तो आप देखेंगे कि ऑनलर विकल्प निर्दिष्ट करता है कि क्या LF को CR + LF में बदला जाना चाहिए। यदि आपको यह सेटिंग गलत लगती है, तो आपको स्टेपस्टेप टेक्स्ट मिल जाएगा, जहां
each
line
begins
जहां पिछली लाइन बंद थी। इसलिए, यहां तक कि यूनिक्स, जब कच्चे मोड में छोड़ दिया जाता है, तो लाइनों को समाप्त करने के लिए सीआर + एलएफ की आवश्यकता होती है। एलएफ से पहले निहित सीआर एक यूनिक्स आविष्कार है, शायद एक अर्थव्यवस्था के रूप में, क्योंकि यह प्रति पंक्ति एक बाइट बचाता है।
C भाषा के यूनिक्स पूर्वज ने इस सम्मेलन को C भाषा मानक में ले लिया, जिसमें लाइनों को समाप्त करने के लिए केवल "\ n" (जो LF को एन्कोड करता है) की आवश्यकता होती है, कच्चे फाइल डेटा को तार्किक लाइनों में बदलने के लिए रनटाइम लाइब्रेरीज़ पर बोझ डालते हैं।
सी भाषा ने "जेनेरिक लाइन टर्मिनेटर" की अवधारणा को व्यक्त करने के लिए "न्यूलाइन" शब्द भी पेश किया। मुझे बताया गया है कि ASCII समिति ने चरित्र 0x0A का नाम बदलकर 1996 के आसपास "न्यूलाइन" कर दिया है, इसलिए भ्रम का स्तर और भी अधिक बढ़ गया है।
यहाँ विषय की एक और चर्चा है, एक यूनिक्स परिप्रेक्ष्य से
मैंने इस दूसरी कड़ी को द वेबैक मशीन में स्नैपशॉट में बदल दिया है, क्योंकि वास्तविक पृष्ठ अब उपलब्ध नहीं है।
हम उम्मीद करते है कि यह आपके सवाल का जवाब दे देगा।