न्यू लाइन

न्यूलाइन (अधिकांश कहा जाता है लाइन एंडिंग, एंड ऑफ़ लाइन (ईओएल), नेक्स्ट लाइन (एनईएल) या लाइन ब्रेक) एएससीआईआई, EBCDIC, यूनिकोड इत्यादि जैसे वर्ण एन्कोडिंग विनिर्देशों में नियंत्रण वर्ण या नियंत्रण वर्णों का अनुक्रम है। यह वर्ण, या वर्णों का क्रम, पंक्ति (पाठ फ़ाइल) के अंत और नई प्रारंभ को दर्शाने के लिए उपयोग किया जाता है।

इतिहास
1800 के दशक के मध्य में, तैलिप्रिंटर्स और टेलेटाइप मशीनों के आगमन से बहुत पहले, मोर्स कोड ऑपरेटरों या टेलिग्राफ़-आपरेटरों ने औपचारिक लिखित टेक्स्ट संदेशों में सफेद स्पेस टेक्स्ट फ़ॉर्मेटिंग को एनकोड करने के लिए मोर्स कोड के लिए Prosigns का आविष्कार किया और उनका उपयोग किया। विशेष रूप से अंतर्राष्ट्रीय मोर्स कोड प्रोसाइन$\overline{BT}$(मेमोनिक bरिया text) सामान्य इंटर-कैरेक्टर स्पेसिंग के बिना भेजे गए शाब्दिक टेक्स्ट मोर्स कोड B और T वर्णों के संयोजन द्वारा प्रतिनिधित्व किया जाता है, मोर्स कोड में औपचारिक टेक्स्ट संदेश में नई लाइन या नए सेक्शन को एनकोड और निरुपित करने के लिए उपयोग किया जाता है।

बाद में, आधुनिक टेलीप्रिंटर के युग में, सफेद स्थान पाठ स्वरूपण में सहायता के लिए मानकीकृत वर्ण सेट नियंत्रण कोड विकसित किए गए थे। ASCII को अंतर्राष्ट्रीय मानकीकरण संगठन (ISO) और अमेरिकी मानक संघ (ASA) द्वारा साथ विकसित किया गया था, बाद वाला अमेरिकी राष्ट्रीय मानक संस्थान (ANSI) का पूर्ववर्ती संगठन था। 1963 से 1968 की अवधि के समय, आईएसओ प्रारूप मानकों ने #प्रतिनिधित्व|CR+LFया #प्रतिनिधित्व|LFअकेले नई लाइन के रूप में, चूंकि एएसए ड्राफ्ट केवल समर्थित थे CR+LF.

क्रम CR+LF सामान्यतः कई प्रारंभिकी कंप्यूटर प्रणाली पर उपयोग किया गया था, जिन्होंने टेलेटाइप कॉर्पोरेशन मशीनों को अपनाया था - सामान्यतः टेलेटाइप मॉडल 33 एएसआर - कंसोल डिवाइस के रूप में, क्योंकि इस क्रम को उन प्रिंटरों को नई लाइन की प्रारंभ में रखने की आवश्यकता थी। न्यूलाइन को दो कार्यों में अलग करना इस तथ्य को छुपाता है कि प्रिंट हेड अगले वर्ण को प्रिंट करने के लिए दूर दाईं ओर से अगली पंक्ति की प्रारंभ तक वापस नहीं आ सकता है। के बाद मुद्रित कोई भी वर्ण CR अधिकांश पृष्ठ के मध्य में धुंध के रूप में प्रिंट होता था चूंकि प्रिंट हेड अभी भी गाड़ी को पहली स्थिति में वापस ले जा रहा था। समाधान नई पंक्ति को दो वर्ण बनाना था: CR कैरिज को कॉलम में ले जाने के लिए, और LF कागज को ऊपर ले जाने के लिए। वास्तव में, अधिकांश अतिरिक्त वर्ण-बाहरी सीआर या एनयूएल भेजने के लिए आवश्यक होता था-जो अनदेखा कर दिए जाते हैं लेकिन प्रिंट हेड को बाएं मार्जिन पर जाने का समय देते हैं। कई प्रारंभिकी वीडियो डिस्प्ले को भी डिस्प्ले को स्क्रॉल करने के लिए कई वर्ण बार की आवश्यकता होती है।

ऐसी प्रणालियों पर, अनुप्रयोगों को टेलेटाइप मशीन से सीधे बात करनी पड़ती है और इसके सम्मेलनों का पालन करना पड़ता है क्योंकि उपकरण चालकों द्वारा ऐसे हार्डवेयर विवरणों को अनुप्रयोग से छिपाने की अवधारणा अभी तक अच्छी तरह से विकसित नहीं हुई थी। इसलिए, टेलेटाइप मशीनों की आवशयकताओं को पूरा करने के लिए पाठ नियमित रूप से तैयार किया गया था। डिजिटल उपकरण निगम के अधिकांश मिनीकंप्यूटर प्रणाली ने इस कन्वेंशन का उपयोग किया। CP/M ने इसका उपयोग उन्हीं टर्मिनलों पर प्रिंट करने के लिए भी किया, जिनका उपयोग मिनीकंप्यूटर करते थे। वहां से MS-DOS (1981) ने CP/M's को अपनाया CR+LF संगत होने के लिए, और यह सम्मेलन Microsoft के बाद के Microsoft Windows ऑपरेटिंग प्रणाली द्वारा विरासत में मिला था।

मॉलटिक्स ऑपरेटिंग प्रणाली ने 1964 में विकास प्रारंभ किया और इसका उपयोग किया LF अकेले इसकी नई लाइन के रूप में। मल्टिक्स ने इस वर्ण का अनुवाद करने के लिए डिवाइस ड्राइवर का उपयोग किया, जो प्रिंटर की आवशयकता के किसी भी क्रम में (अतिरिक्त पैडिंग वर्णों सहित), और एकल बाइट प्रोग्रामिंग के लिए अधिक सुविधाजनक था। क्या अधिक स्पष्ट प्रतीत होता है पसंद-CR- उपयोग नहीं किया गया था, जैसा CR जोर (टाइपोग्राफी), बल देना और स्ट्रिकथ्रौघ प्रभाव बनाने के लिए पंक्ति को दूसरे के साथ ओवरप्रिंट करने का उपयोगी कार्य प्रदान किया। संभवतः अधिक महत्वपूर्ण, का उपयोग LF अकेले लाइन टर्मिनेटर के रूप में पहले से ही अंतिम आईएसओ/आईईसी 646 मानक के मसौदे में सम्मिलित किया गया था। यूनिक्स ने मल्टिक्स अभ्यास का पालन किया, और बाद में यूनिक्स जैसी प्रणालियों ने यूनिक्स का अनुसरण किया। इसने विंडोज और यूनिक्स जैसे ऑपरेटिंग प्रणाली के बीच संघर्ष उत्पन्न किया, जिससे ऑपरेटिंग प्रणाली पर बनी फाइलों को दूसरे ऑपरेटिंग प्रणाली द्वारा उचित रूप से स्वरूपित या व्याख्या नहीं किया जा सकता था (उदाहरण के लिए माइक्रोसॉफ्ट नोटपैड जैसे विंडोज टेक्स्ट एडिटर में लिखी गई UNIX शेल स्क्रिप्ट)  ).

प्रतिनिधित्व
कैरिज रिटर्न (सीआर) और लाइन फीड (एलएफ) की अवधारणाएं निकट से जुड़ी हुई हैं और इन्हें अलग-अलग या साथ माना जा सकता है। टाइपराइटर और प्रिंटर (कंप्यूटिंग) के भौतिक मीडिया में, पृष्ठ (पेपर) पर नई पंक्ति बनाने के लिए गति के दो कार्टेशियन समन्वय प्रणाली, नीचे और आर-पार, की आवश्यकता होती है। चूंकि मशीन (टाइपराइटर या प्रिंटर) के डिजाइन को उन्हें अलग से विचार करना चाहिए, सॉफ्टवेयर का अमूर्त तर्क उन्हें साथ घटना के रूप में जोड़ सकता है। यही कारण है कि वर्ण एन्कोडिंग में नई पंक्ति को परिभाषित किया जा सकता है CR और LF में संयुक्त (सामान्यतः कहा जाता है CR+LF या CRLF).

कुछ वर्ण एन्कोडिंग अलग न्यूलाइन वर्ण कोड प्रदान करते हैं। ईबीसीडीआईसी, उदाहरण के लिए, प्रदान करता है NL वर्ण कोड के अतिरिक्त CR और LF कोड। यूनिकोड, ASCII प्रदान करने के अतिरिक्त CR और LF नियंत्रण वर्ण, अगली पंक्ति भी प्रदान करता है (NEL) नियंत्रण कोड, साथ ही रेखा विभाजक और अनुच्छेद विभाजक मार्करों के लिए नियंत्रण कोड।


 * EBCDIC प्रणाली- मुख्य रूप से IBM मेनफ्रेम प्रणाली, जिसमें z/OS (OS/390) और IBM i (OS/400) सम्मिलित हैं- का उपयोग करें NL (नई पंक्ति, 0x15) लाइन फीड और कैरिज रिटर्न के कार्यों के संयोजन वाले वर्ण के रूप में। समतुल्य यूनिकोड वर्ण (0x85) कहा जाता है NEL (अगली पंक्ति)। ईबीसीडीआईसी में नियंत्रण वर्ण भी कहा जाता है CR और LF, लेकिन का संख्यात्मक मान LF (0x25) ASCII द्वारा उपयोग किए गए से भिन्न है (0x0A). इसके अतिरिक्त, कुछ EBCDIC वैरिएंट भी उपयोग करते हैं NL लेकिन वर्ण को अलग संख्यात्मक कोड असाइन करें। चूँकि, वे ऑपरेटिंग प्रणाली रिकॉर्ड-उन्मुख फ़ाइल प्रणाली प्रणाली | रिकॉर्ड-आधारित फ़ाइल प्रणाली का उपयोग करते हैं, जो पाठ फ़ाइलों को प्रति पंक्ति रिकॉर्ड के रूप में संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं।
 * सीडीसी 6000 श्रृंखला के लिए ऑपरेटिंग प्रणाली ने 60-बिट शब्द के अंत में दो या दो से अधिक शून्य-मूल्य वाले छह-बिट वर्णों के रूप में नई पंक्ति को परिभाषित किया। कुछ विन्यासों ने शून्य-मूल्यवान वर्ण को बृहदान्त्र (विराम चिह्न) वर्ण के रूप में भी परिभाषित किया, जिसके परिणामस्वरूप स्थिति के आधार पर कई कॉलनों को नई पंक्ति के रूप में व्याख्या किया जा सकता है।
 * RSX-11 और OpenVMS भी रिकॉर्ड-आधारित फ़ाइल प्रणाली का उपयोग करते हैं, जो प्रति पंक्ति रिकॉर्ड के रूप में पाठ फ़ाइलों को संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं, लेकिन रिकॉर्ड प्रबंधन सेवा सुविधा पारदर्शी रूप से प्रत्येक पंक्ति में टर्मिनेटर जोड़ सकती है, जब इसे किसी एप्लिकेशन द्वारा पुनर्प्राप्त किया जाता है। रिकॉर्ड में स्वयं समान लाइन टर्मिनेटर वर्ण हो सकते हैं, जिन्हें या तो विशेषता या उपद्रव माना जा सकता है जो कि आवेदन पर निर्भर करता है। RMS न केवल रिकॉर्ड संग्रहीत करता है, किन्तु फ़ाइल के लिए अलग-अलग बिट्स में रिकॉर्ड विभाजक के बारे में मेटाडेटा भी संग्रहीत करता है, जिससे स्थितियों और भी जटिल हो जाते हैं (चूंकि फ़ाइलों में निश्चित लंबाई के रिकॉर्ड हो सकते हैं, ऐसे रिकॉर्ड जो गिनती या रिकॉर्ड द्वारा समाप्त होते हैं जो विशिष्ट वर्ण द्वारा समाप्त होते हैं ). बिट्स सामान्य नहीं हैं, इसलिए जब वे इसे निर्दिष्ट कर सकते हैं CRLF या LF या और भी CR लाइन टर्मिनेटर है, वे किसी अन्य कोड को स्थानापन्न नहीं कर सकते।
 * फिक्स्ड लाइन लेंथ का उपयोग कुछ प्रारंभिकी मेनफ़्रेम कंप्यूटर ऑपरेटिंग प्रणाली द्वारा किया जाता था। ऐसी प्रणाली में, उदाहरण के लिए, प्रत्येक 72 या 80 वर्णों में निहित अंत-पंक्ति मान ली गई थी। कोई न्यूलाइन वर्ण संग्रहीत नहीं किया गया था। यदि कोई फ़ाइल बाहरी संसार से आयात की गई थी, तो लाइन की लंबाई से छोटी लाइनों को रिक्त स्थान के साथ पैडेड करना पड़ता था, चूंकि लाइन की लंबाई से अधिक लंबी लाइनों को छोटा करना पड़ता था। इसने छिद्रित कार्डों के उपयोग की नकल की, जिस पर प्रत्येक पंक्ति को अलग कार्ड पर संग्रहीत किया गया था, सामान्यतः प्रत्येक कार्ड पर 80 कॉलम के साथ, अधिकांश कॉलम 73-80 में अनुक्रम संख्या के साथ। इनमें से कई प्रणालियों ने अगले रिकॉर्ड की प्रारंभ में एएसए कैरिज नियंत्रण वर्ण जोड़े; यह निरुपित कर सकता है कि क्या अगला रिकॉर्ड पिछले रिकॉर्ड, या नई लाइन द्वारा प्रारंभ की गई लाइन की निरंतरता थी, या पिछली पंक्ति को ओवरप्रिंट करना चाहिए (के समान) CR). अधिकांश यह सामान्य मुद्रण वर्ण होता था जैसे # इस प्रकार पंक्ति में पहले वर्ण के रूप में उपयोग नहीं किया जा सकता था। कुछ प्रारंभी लाइन प्रिंटरों ने इन वर्णों की सीधे उन्हें भेजे गए रिकॉर्ड में व्याख्या की।

यूनिकोड
यूनिकोड मानक कई वर्णों को परिभाषित करता है जो अनुरूप अनुप्रयोगों को लाइन टर्मिनेटर के रूप में पहचानना चाहिए:
 * रेखा भरण, U+000A
 * वर्टिकल टैब, U+000B
 * फ़ीड बनाएं, U+000C
 * कैरिज रिटर्न, U+000D
 * CR+LF: CR (U+000D) के बाद LF (U+000A)
 * अगली पंक्ति, U+0085
 * रेखा विभाजक, U+2028
 * अनुच्छेद विभाजक, U+2029

उदाहरण के लिए, सभी लाइन टर्मिनेटरों को वर्ण में परिवर्तित करने जैसे दृष्टिकोण की तुलना में यह अत्यधिक जटिल लग सकता है LF. चूंकि, यूनिकोड को किसी टेक्स्ट फ़ाइल को किसी भी वर्तमान एन्कोडिंग से यूनिकोड में और वापस कनवर्ट करते समय सभी सूचनाओं को संरक्षित करने के लिए डिज़ाइन किया गया था। इसलिए, यूनिकोड में वर्तमान एनकोडिंग में सम्मिलित वर्ण होने चाहिए।

उदाहरण के लिए: ईबीसीडीआईसी का हिस्सा है, जो कोड का उपयोग करता है 0x15; यह सामान्यतः यूनिकोड में मैप किया जाता है NEL, 0x85, जो C1 कंट्रोल सेट में कंट्रोल कैरेक्टर है। जैसे, यह ईसीएमए 48 द्वारा परिभाषित किया गया है, और ISO/IEC 2022 (जो ECMA 35 के समतुल्य है) के अनुरूप एनकोडिंग द्वारा मान्यता प्राप्त है। C1 नियंत्रण सेट ISO-8859-1 के साथ भी संगत है। यूनिकोड मानक में अपनाया गया दृष्टिकोण सभी संभावित प्रकार के लाइन टर्मिनेटरों को पहचानने के लिए अनुप्रयोगों को सक्षम करते हुए राउंड-ट्रिप परिवर्तन को सूचना-संरक्षण करने की अनुमति देता है।

से अधिक न्यूलाइन कोड को पहचानना और उपयोग करना 0x7F (NEL, LS और PS) अधिकांश नहीं किया जाता है। वे यूटीएफ-8 -8 में कई बाइट हैं, और कोड के लिए NEL दीर्घवृत्त के रूप में उपयोग किया गया है (…) Windows-1252 में वर्ण। उदाहरण के लिए:
 * ईसीएमएस्क्रिप्ट स्वीकार करता है LS और PS लाइन-ब्रेक के रूप में, लेकिन मानता है U+0085 (NEL) लाइन-ब्रेक के अतिरिक्त व्हाइटस्पेस वर्ण
 * Windows 10 इनमें से किसी का भी इलाज नहीं करता है NEL, LS, या PS अपने डिफ़ॉल्ट टेक्स्ट एडिटर, माइक्रोसॉफ्ट नोटपैड में लाइन-ब्रेक के रूप में।
 * Gedit, GNOME डेस्कटॉप वातावरण का डिफ़ॉल्ट पाठ संपादक, ट्रीट करता है LS और PS न्यूलाइन के रूप में लेकिन के लिए नहीं है NEL.
 * जेएसओएन अनुमति देता है LS और PS तार के अन्दर वर्ण, चूंकि ECMAScript से पहले  उन्हें न्यूलाइन्स के रूप में माना, और इसलिए अवैध सिंटैक्स।
 * वाईएएमएल JSON के साथ संगत होने के लिए अब उन्हें संस्करण 1.2 के रूप में विशेष के रूप में नहीं पहचानता है।

ध्यान दें कि यूनिकोड विशेष वर्ण U+2424 (, ␤), U+23CE (, ⏎), U+240D (, ␍) और U+240A (, ␊) दस्तावेज़ के पाठक के लिए उपयोगकर्ता-दिखाई देने वाले वर्ण को प्रस्तुत करने के लिए ग्लिफ़ हैं, और इस प्रकार खुद को नई पंक्ति के रूप में मान्यता नहीं दी जाती है।

प्रोग्रामिंग भाषाओं में
में porting प्रोग्राम के निर्माण को सुविधाजनक बनाने के लिए, प्रोग्रामिंग लैंग्वेज विभिन्न वातावरणों में उपयोग किए जाने वाले विभिन्न प्रकार के न्यूलाइन अनुक्रमों से निपटने के लिए कुछ सार प्रदान करती हैं।

सी (प्रोग्रामिंग भाषा) बचने का क्रम प्रदान करती है '\n' (न्यूलाइन) और '\r' (कैरिज रिटर्न)। चूँकि, इन्हें ASCII के समकक्ष होने की आवश्यकता नहीं है LF और CR नियंत्रण वर्ण। सी मानक केवल दो चीजों की गारंटी देता है:
 * 1) इनमें से प्रत्येक एस्केप सीक्वेंस अद्वितीय कार्यान्वयन-परिभाषित संख्या में मैप करता है जिसे एकल में संग्रहीत किया जा सकता है char कीमत।
 * 2) टेक्स्ट मोड में फाइल, डिवाइस नोड, या सॉकेट / फीफो में लिखते समय, '\n' प्रणाली द्वारा उपयोग किए जाने वाले मूल न्यूलाइन अनुक्रम में पारदर्शी रूप से अनुवादित है, जो वर्ण से अधिक लंबा हो सकता है। टेक्स्ट मोड में पढ़ते समय, नेटिव न्यूलाइन सीक्वेंस को वापस ट्रांसलेट किया जाता है '\n'. बाइनरी मोड में, कोई अनुवाद नहीं किया जाता है, और आंतरिक प्रतिनिधित्व इसके द्वारा निर्मित होता है '\n' सीधे आउटपुट है।

यूनिक्स प्लेटफॉर्म पर, जहां सी की उत्पत्ति हुई, मूल न्यूलाइन अनुक्रम ASCII है LF (0x0A), इसलिए '\n' बस उस मूल्य के रूप में परिभाषित किया गया था। आंतरिक और बाहरी प्रतिनिधित्व समान होने के साथ, टेक्स्ट मोड में किया गया अनुवाद एनओपी (कोड) | नो-ऑप है, और यूनिक्स में टेक्स्ट मोड या बाइनरी मोड की कोई धारणा नहीं है। इसने कई प्रोग्रामरों को यूनिक्स प्रणाली पर अपने सॉफ़्टवेयर को विकसित करने के लिए पूरी तरह से भेद को अनदेखा करने का कारण बना दिया है, जिसके परिणामस्वरूप कोड विभिन्न प्लेटफार्मों के लिए पोर्टेबल नहीं है।

सी पुस्तकालय समारोह fgets बाइनरी मोड में सबसे अच्छा बचा है क्योंकि यूनिक्स न्यूलाइन कन्वेंशन के साथ नहीं लिखी गई कोई भी फाइल गलत होगी। साथ ही, टेक्स्ट मोड में, कोई भी फाइल जो प्रणाली के नेटिव न्यूलाइन सीक्वेंस (जैसे कि यूनिक्स प्रणाली पर बनाई गई फाइल, फिर विंडोज प्रणाली में कॉपी की गई) के साथ नहीं लिखी गई है, उसे भी गलत विधियों से पढ़ा जाएगा।

और आम समस्या का उपयोग है '\n' ASCII के उपयोग को अनिवार्य करने वाले इंटरनेट प्रोटोकॉल का उपयोग करते हुए संचार करते समय CR+LF समाप्त होने वाली पंक्तियों के लिए। लिखना '\n' टेक्स्ट मोड स्ट्रीम के लिए विंडोज प्रणाली पर सही ढंग से काम करता है, लेकिन केवल उत्पादन करता है LF यूनिक्स पर, और अधिक विदेशी प्रणालियों पर कुछ पूरी तरह से अलग। का उपयोग करते हुए "\r\n" बाइनरी मोड में थोड़ा उत्तम है।

कई भाषाएँ, जैसे C++, पर्ल, और हास्केल (प्रोग्रामिंग भाषा) की समान व्याख्या प्रदान करते हैं '\n' C. C++ में इनपुट/आउटपुट (C++)|वैकल्पिक I/O मॉडल है जहां मैनिपुलेटर std::endl नई लाइन को आउटपुट करने के लिए उपयोग किया जा सकता है (और स्ट्रीम बफर को फ्लश करता है)।

जावा (प्रोग्रामिंग भाषा), पीएचपी, और पायथन (प्रोग्रामिंग भाषा) प्रदान करना '\r\n' अनुक्रम (एएससीआईआई के लिए CR+LF). सी के विपरीत, इन्हें मूल्यों का प्रतिनिधित्व करने की गारंटी है U+000D और U+000A, क्रमश।

जावा I/O पुस्तकालय इन्हें इनपुट या आउटपुट पर प्लेटफ़ॉर्म-निर्भर न्यूलाइन अनुक्रमों में पारदर्शी रूप से अनुवादित नहीं करते हैं। इसके अतिरिक्त, वे पूर्ण पंक्ति लिखने के लिए कार्य प्रदान करते हैं जो स्वचालित रूप से देशी न्यूलाइन अनुक्रम जोड़ते हैं, और उन पंक्तियों को पढ़ने के लिए कार्य करते हैं जो इनमें से किसी को भी स्वीकार करते हैं CR, LF, या CR+LF लाइन टर्मिनेटर के रूप में (देखें BufferedReader.readLine). System.lineSeparator }} विधि का उपयोग अंतर्निहित रेखा विभाजक को पुनः प्राप्त करने के लिए किया जा सकता है।

उदाहरण: पढ़ने के लिए फ़ाइल खोलते समय, मॉड्यूल आयात करते समय और फ़ाइल निष्पादित करते समय पायथन यूनिवर्सल न्यूलाइन सपोर्ट की अनुमति देता है। कुछ भाषाओं ने प्रोग्राम निष्पादन के समय न्यूलाइन की सुविधा के लिए विशेष चर (कंप्यूटर विज्ञान), स्थिरांक (कंप्यूटर प्रोग्रामिंग), और सबरूटीन्स बनाए हैं। PHP और पर्ल जैसी कुछ भाषाओं में, सभी एस्केप सीक्वेंस के लिए एस्केप प्रतिस्थापन करने के लिए डबल उद्धरण की आवश्यकता होती है, जिसमें सम्मिलित हैं '\n' और '\r'. PHP में, पोर्टेबिलिटी की समस्याओं से बचने के लिए, PHP_EOL स्थिरांक का उपयोग करके न्यूलाइन अनुक्रम जारी किए जाने चाहिए। सी शार्प (प्रोग्रामिंग भाषा) में उदाहरण|सी#:

विभिन्न न्यूलाइन प्रारूपों के साथ उद्देश
विभिन्न न्यूलाइन सम्मेलनों के कारण विभिन्न प्रकार की प्रणालियों के बीच स्थानांतरित की गई पाठ फ़ाइलें गलत विधियों से प्रदर्शित होती हैं।

यूनिक्स-जैसे या क्लासिक मैक ओएस पर आम प्रोग्राम के साथ बनाई गई फाइलों में टेक्स्ट, एमएस-डॉस और माइक्रोसॉफ्ट विंडोज के लिए सामान्य प्रोग्रामों पर लंबी लाइन के रूप में दिखाई देता है क्योंकि ये भी प्रदर्शित नहीं करते हैं line feed या carriage return लाइन ब्रेक के रूप में।

इसके विपरीत, यूनिक्स जैसी प्रणाली पर विंडोज कंप्यूटर से उत्पन्न होने वाली फाइल को देखते समय, अतिरिक्त CR दूसरी पंक्ति विराम के रूप में प्रदर्शित किया जा सकता है, जैसे ^M, या के रूप में  प्रत्येक पंक्ति के अंत में।

इसके अतिरिक्त, पाठ संपादकों के अतिरिक्त अन्य प्रोग्राम फ़ाइल को स्वीकार नहीं कर सकते हैं, उदा। कुछ कॉन्फ़िगरेशन फ़ाइल, मान्य फ़ाइल के रूप में विदेशी न्यूलाइन कन्वेंशन का उपयोग करके एन्कोडेड।

समस्या का पता लगाना कठिन हो सकता है क्योंकि कुछ प्रोग्राम विदेशी न्यूलाइन्स को ठीक से संभालते हैं चूंकि अन्य नहीं। उदाहरण के लिए, संकलक अस्पष्ट सिंटैक्स त्रुटियों के साथ विफल हो सकता है, चाहे कमांड लाइन इंटरफेस या टेक्स्ट एडिटर में प्रदर्शित होने पर स्रोत फ़ाइल सही दिखती हो। आधुनिक पाठ संपादक सामान्यतः सभी स्वादों को पहचानते हैं CR+LF न्यूलाइन्स और उपयोगकर्ताओं को विभिन्न मानकों के बीच रूपांतरण करने की अनुमति देता है। वेब ब्राउज़र सामान्यतः पाठ फ़ाइलों और वेबसाइटों को प्रदर्शित करने में भी सक्षम होते हैं जो विभिन्न प्रकार की न्यूलाइन्स का उपयोग करते हैं।

यहां तक ​​कि यदि कोई प्रोग्राम विभिन्न न्यूलाइन सम्मेलनों का समर्थन करता है, तो इन सुविधाओं को अधिकांश पर्याप्त रूप से लेबल, वर्णित या प्रलेखित नहीं किया जाता है। सामान्यतः विभिन्न न्यूलाइन सम्मेलनों की गणना करने वाला मेनू या कॉम्बो-बॉक्स बिना किसी संकेत के उपयोगकर्ताओं को प्रदर्शित किया जाएगा यदि चयन फिर से व्याख्या करेगा, अस्थायी रूप से परिवर्तित होगा, या स्थायी रूप से नईलाइनों को परिवर्तित करेगा। कुछ प्रोग्राम ओपन, कॉपी, पेस्ट, या सेव—अधिकांश असंगत रूप से परोक्ष रूप से रूपांतरित हो जाएंगे।

अधिकांश टेक्स्टुअल इंटरनेट प्रोटोकॉल (कंप्यूटिंग) (HTTP, सरल डाक स्थानांतरण प्रोटोकॉल, फाइल ट्रांसफर प्रोटोकॉल, इंटरनेट रिले चैट और कई अन्य सहित) ASCII के उपयोग को अनिवार्य करते हैं। CR+LF ('\r\n', 0x0D 0x0A) प्रोटोकॉल स्तर पर, लेकिन अनुशंसा करते हैं कि सहिष्णु अनुप्रयोग अकेले को पहचानें LF ('\n', 0x0A) भी। निर्धारित मानक के अतिरिक्त, कई एप्लिकेशन गलती से C (प्रोग्रामिंग लैंग्वेज) न्यूलाइन एस्केप सीक्वेंस का उपयोग करते हैं '\n' (LF) कैरिज रिटर्न एस्केप और न्यूलाइन एस्केप सीक्वेंस के सही संयोजन के अतिरिक्त '\r\n' (CR+LF) (उपरोक्त प्रोग्रामिंग भाषाओं में अनुभाग देखें)। सुझाए गए सहिष्णु व्याख्या के अतिरिक्त मानकों की सख्त व्याख्या का पालन करने वाले प्रणाली के साथ संवाद करने की कोशिश करते समय गलत एस्केप सीक्वेंस का यह आकस्मिक उपयोग समस्याओं की ओर ले जाता है। ऐसी ही असहिष्णु प्रणाली है qmail मेल ट्रांसफर एजेंट जो बिना संदेश भेजने वाले प्रणाली से संदेशों को स्वीकार करने से सक्रिय रूप से मना कर देता है LF आवश्यक के अतिरिक्त CR+LF. मानक इंटरनेट संदेश प्रारूप ईमेल स्टेट्स के लिए: CR और LF केवल CRLF के रूप में साथ होने चाहिए; उन्हें शरीर में स्वतंत्र रूप से प्रकट नहीं होना चाहिए।

एएससीआईआई मोड में स्थानांतरण होने पर फाइल ट्रांसफर प्रोटोकॉल ऑपरेटिंग प्रणाली के बीच विभिन्न न्यूलाइन प्रस्तुतियों के साथ स्थानांतरित की जा रही फाइलों में नई लाइनों को स्वचालित रूप से परिवर्तित कर सकता है। चूँकि, इस मोड में बाइनरी फ़ाइलों को स्थानांतरित करने के सामान्यतः विनाशकारी परिणाम होते हैं: न्यूलाइन बाइट अनुक्रम की कोई भी घटना - जिसमें इस संदर्भ में लाइन टर्मिनेटर शब्दार्थ नहीं है, लेकिन बाइट्स के सामान्य अनुक्रम का हिस्सा है - जो भी न्यूलाइन प्रतिनिधित्व के लिए अनुवादित किया जाएगा दूसरी प्रणाली प्रभावी रूप से डेटा भ्रष्टाचार फ़ाइल का उपयोग करती है। एफ़टीपी ग्राहक अधिकांश द्विआधारी या एएससीआईआई मोड का चयन करने के लिए कुछ ह्यूरिस्टिक (कंप्यूटर विज्ञान) (उदाहरण के लिए, फ़ाइल नाम एक्सटेंशन का निरीक्षण) को नियोजित करते हैं, लेकिन अंत में यह सुनिश्चित करने के लिए उपयोगकर्ताओं पर निर्भर है कि उनकी फाइलें सही मोड में स्थानांतरित की गई हैं। यदि सही मोड के बारे में कोई संदेह है, तो बाइनरी मोड का उपयोग किया जाना चाहिए, क्योंकि तब एफ़टीपी द्वारा कोई फ़ाइल नहीं बदली जाएगी, चूंकि वे गलत विधियों से प्रदर्शित हो सकती हैं।

न्यूलाइन प्रारूपों के बीच रूपांतरण
पाठ संपादकों का उपयोग अधिकांश पाठ फ़ाइल को विभिन्न न्यूलाइन स्वरूपों के बीच परिवर्तित करने के लिए किया जाता है; अधिकांश आधुनिक संपादक कम से कम भिन्न ASCII का उपयोग करके फ़ाइलों को पढ़ और लिख सकते हैं CR/LF सम्मेलनों।

उदाहरण के लिए, संपादक विम (पाठ संपादक) विंडोज नोटपैड टेक्स्ट एडिटर के साथ संगत फाइल बना सकता है। विम के अन्दर बड़ी फ़ाइलों को परिवर्तित करने या कई फ़ाइलों के बल्क रूपांतरण के लिए संपादक अनुपयुक्त हो सकते हैं। बड़ी फ़ाइलों के लिए (Windows NT/2000/XP पर) निम्नलिखित कमांड का प्रयोग अधिकांश किया जाता है: विभिन्न न्यूलाइन सम्मेलनों के बीच फ़ाइलों को परिवर्तित करने के लिए विशेष प्रयोजन कार्यक्रमों में unix2dos और dos2unix, mac2unix और unix2mac, mac2dos और dos2mac, और flip सम्मिलित हैं। tr }} कमांड वस्तुतः हर यूनिक्स जैसी प्रणाली पर उपलब्ध है और इसका उपयोग एकल वर्णों पर स्वैच्छिक प्रतिस्थापन संचालन करने के लिए किया जा सकता है। एक DOS/Windows पाठ फ़ाइल को सभी ASCII CR वर्णों को हटाकर यूनिक्स प्रारूप में परिवर्तित किया जा सकता है या, यदि पाठ में केवल है CR न्यूलाइन, सभी को परिवर्तित करके CR न्यूलाइन्स टू LF साथ यदि प्लेटफ़ॉर्म में पर्ल दुभाषिया है, तो वही कार्य कभी-कभी awk, sed, या Perl में किए जाते हैं: file }} कमांड लाइन के अंत के प्रकार की पहचान कर सकता है: यूनिक्स grep#Implementations (विस्तारित grep) कमांड का उपयोग यूनिक्स या डॉस फाइलों के फ़ाइलनामों को प्रिंट करने के लिए किया जा सकता है (केवल यूनिक्स और डॉस-शैली फ़ाइलों को मानते हुए, कोई क्लासिक मैक ओएस-शैली फ़ाइलें नहीं): अन्य उपकरण उपयोगकर्ता को ईओएल वर्णों की कल्पना करने की अनुमति देते हैं:

व्याख्या
न्यूलाइन्स को देखने के दो विधियों हैं, जिनमें से दोनों आत्मनिर्भर हैं, न्यूलाइन्स या तो अलग लाइनें हैं या वे लाइनों को समाप्त करती हैं। यदि किसी नई पंक्ति को विभाजक माना जाता है, तो फ़ाइल की अंतिम पंक्ति के बाद कोई नई पंक्ति नहीं होगी। कुछ प्रोग्रामों में फ़ाइल की अंतिम पंक्ति को संसाधित करने में समस्याएँ होती हैं यदि इसे किसी नई पंक्ति द्वारा समाप्त नहीं किया जाता है। दूसरी ओर, प्रोग्राम जो आशा करते हैं कि न्यूलाइन को विभाजक के रूप में उपयोग किया जाएगा, नई (खाली) लाइन प्रारंभ करने के रूप में अंतिम न्यूलाइन की व्याख्या करेगा। इसके विपरीत, यदि नई पंक्ति को टर्मिनेटर माना जाता है, तो अंतिम सहित सभी पाठ पंक्तियों को नई पंक्ति द्वारा समाप्त किए जाने की आशा है। यदि पाठ फ़ाइल में अंतिम वर्ण क्रम कोई नई पंक्ति नहीं है, तो फ़ाइल की अंतिम पंक्ति को अनुचित या अपूर्ण पाठ पंक्ति माना जा सकता है, या फ़ाइल को अनुचित रूप से छोटा माना जा सकता है।

टेक्स्ट में मुख्य रूप से मनुष्यों द्वारा सॉफ़्टवेयर का उपयोग करके पढ़ा जाना है जो शब्द लपेटने की सुविधा को प्रायुक्त करता है, न्यूलाइन कैरेक्टर को सामान्यतः केवल तभी संग्रहीत करने की आवश्यकता होती है जब लाइन ब्रेक की आवश्यकता होती है, चाहे अगला शब्द उसी लाइन पर फिट होगा या नहीं, जैसे अनुच्छेद के बीच और लंबवत सूचियों में। इसलिए, शब्द संसाधक और अधिकांश पाठ संपादकों के तर्क में, न्यूलाइन का उपयोग पैराग्राफ ब्रेक के रूप में किया जाता है और इसे सॉफ्ट रिटर्न के विपरीत हार्ड रिटर्न के रूप में जाना जाता है, जो वर्ड रैपिंग को प्रायुक्त करने के लिए गतिशील रूप से बनाए जाते हैं और प्रत्येक प्रदर्शन उदाहरण के साथ परिवर्तनशील होते हैं। कई अनुप्रयोगों में अलग पैराग्राफ के अंदर लाइन ब्रेक को विवश करने के लिए मैन्युअल लाइन ब्रेक नामक अलग नियंत्रण वर्ण उपस्थित है। हार्ड रिटर्न के लिए कंट्रोल कैरेक्टर के लिए ग्लिफ़ सामान्यतः pilcrow (¶) होता है, और मैनुअल लाइन ब्रेक के लिए सामान्यतः कैरिज रिटर्न एरो (↵) होता है।

उल्टा और आंशिक लाइन फ़ीड्स
RI, (यूनिकोड+008डी रिवर्स लाइन फीड, ISO/IEC 6429 8D, दशमलव 141) का उपयोग मुद्रण स्थिति को पंक्ति पीछे ले जाने के लिए किया जाता है (कागज को उल्टा करके, या डिस्प्ले कर्सर को पंक्ति ऊपर ले जाकर) जिससे अन्य वर्ण वर्तमान पाठ पर मुद्रित किए जा सकें। यह उन्हें बोल्डर बनाने के लिए किया जा सकता है, या अंडरलाइन, स्ट्राइक-थ्रू या अन्य वर्ण जैसे विशेषक जोड़ने के लिए किया जा सकता है।

इसी प्रकार, PLD (यूनिकोड+008बी आंशिक लाइन आगे, दशमलव 139) और PLU (यूनिकोड+008सी पार्टियल लाइन बैकवर्ड, डेसीमल 140) का उपयोग वर्टिकल लाइन स्पेसिंग (सामान्यतः, आधा) के कुछ अंश द्वारा टेक्स्ट प्रिंटिंग स्थिति को आगे बढ़ाने या उलटने के लिए किया जा सकता है। इनका उपयोग सबस्क्रिप्ट्स (आगे बढ़ने और फिर उलटने से) और सुपरस्क्रिप्ट्स (रिवर्सिंग और फिर आगे बढ़ने के द्वारा) के संयोजन में किया जा सकता है, और यह डायक्रिटिक्स को प्रिंट करने के लिए भी उपयोगी हो सकता है।

यह भी देखें

 * एएसए कैरिज नियंत्रण वर्ण
 * C0 और C1 नियंत्रण कोड
 * फाइल समाप्त
 * लाइन भूखी
 * पृष्ठ ब्रेक
 * कैरिज रिटर्न
 * कुंजी अंकित करें

बाहरी संबंध

 * The Unicode reference, see paragraph 5.8 in Chapter 5 of the Unicode 4.0 standard (PDF)
 * The End of Line Puzzle
 * "The End-of-Line Story"
 * "The End-of-Line Story"
 * "The End-of-Line Story"