विषमता की उत्पत्ति कंप्यूटिंग इतिहास में एक तरीके से वापस जाती है।
लघु संस्करण:
<CR> & <LF> (Carriage-Return and Linefeed)
==
\r & \n
लंबे संस्करण:
पहले स्क्रीन मूल रूप से टेलेटिप (टीटीवाई) के डिजिटल संस्करण थे और प्रिंटर के समान व्यवहार उत्पन्न करने के लिए नियंत्रण कोड का उपयोग करते थे। कैरिज-रिटर्न ने कर्सर (या प्रिंट-हेड) को शुरुआती कॉलम में ले लिया। अगली पंक्ति में (एक स्क्रीन पर) लाइनफीड उन्नत हुआ और एक पंक्ति आगे पेपर को खिलाया।
प्रिंटर के लिए, आपको एक युग्मित <CR><LF>
करना होगा या आपका आउटपुट सही नहीं लगेगा। शुरुआती स्क्रीन पर, यह मुद्दा अभी भी सच था।
डॉस (और बाद में विंडोज) पुराने मानक का पालन करता है और पाठ को बचाता है <CRLF>
।
* NIX पाठ (जैसा कि अधिकांश vi उपयोगकर्ता परिचित हैं) केवल <LF>
दक्षता के लिए उपयोग करता है।
विंडोज में परीक्षण करने के लिए, वर्ड / वर्डपैड का उपयोग करें और टेक्स्ट की कुछ पंक्तियों को "प्रकार: पाठ - एमएस-डॉस प्रारूप" के रूप में सहेजें। फिर वही फाइल नोटपैड में खोलें। यह सामान्य दिखना चाहिए। फिर उसी फ़ाइल को Word / Wordpad में "प्रकार: पाठ" पर सहेजें। नोटपैड सभी नई लाइनों को अनदेखा करेगा और लाइनों को एक साथ चलाएगा। [नोटपैड का पाठ प्रारूप \r\n
संयोजन के लिए डिफॉल्ट करता है जबकि वर्ड / वर्डपैड डिफ़ॉल्ट रूप से \n
।]
\ r कोड समकक्ष है <CR>
\ n कोड के बराबर है <LF>
और vi के साथ मेरे (बहुत सीमित) अनुभव में, यह <CRLF>
मेरे डॉस पाठ संपादक से संयोजन को "ठीक" करने की कोशिश करेगा । vi ने एक वर्ण को हटा दिया, जिसके साथ प्रतिस्थापित किया गया <NUL>
। कारण का एक बड़ा हिस्सा मैंने vi का उपयोग करना बंद कर दिया।
\r
है<CR>
और\n
है<LF>
। यह क्यों की वास्तविक प्रश्न को संबोधित नहीं करता\n\r
व्यवहार करते हैं अलग ढंग से विभिन्न संदर्भों में।