न्यू लाइन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{short description|Special characters in computing signifying the end of a line of text}}
{{short description|Special characters in computing signifying the end of a line of text}}
{{Other uses|New Line (disambiguation)}}
{{Other uses|नई पंक्ति (बहुविकल्पी)}}
{{redirect|Endl|the botanist|Stephan Endlicher}}
{{redirect|एंडल|वनस्पति विज्ञानी|स्टीफ़न एंडलिचर}}
[[File:Illustration of a newline.png|thumb|हैलो और वर्ल्ड शब्दों के बीच नई लाइन डाली गई है]]न्यूलाइन (अक्सर कहा जाता है लाइन एंडिंग, एंड ऑफ़ लाइन (ईओएल), नेक्स्ट लाइन (एनईएल) या लाइन ब्रेक) [[एएससीआईआई]], [[EBCDIC]], [[यूनिकोड]] इत्यादि जैसे चरित्र एन्कोडिंग विनिर्देशों में नियंत्रण वर्ण या नियंत्रण वर्णों का अनुक्रम है। यह चरित्र, या वर्णों का क्रम, पंक्ति (पाठ फ़ाइल) के अंत और नई शुरुआत को दर्शाने के लिए उपयोग किया जाता है।<ref>{{Cite web|title=What is a Newline?|url=https://www.computerhope.com/jargon/n/newline.htm|access-date=2021-05-10|website=www.computerhope.com|language=en}}</ref>
[[File:Illustration of a newline.png|thumb|हैलो और वर्ल्ड शब्दों के बीच नई लाइन डाली गई है]]न्यूलाइन (अधिकांश कहा जाता है लाइन एंडिंग, एंड ऑफ़ लाइन (ईओएल), नेक्स्ट लाइन (एनईएल) या लाइन ब्रेक) [[एएससीआईआई]], [[EBCDIC|इबीसीडीआईसी]], [[यूनिकोड]] इत्यादि जैसे वर्ण एन्कोडिंग विनिर्देशों में नियंत्रण वर्ण या नियंत्रण वर्णों का अनुक्रम है। यह वर्ण, या वर्णों का क्रम, पंक्ति (पाठ फ़ाइल) के अंत और नई प्रारंभ को दर्शाने के लिए उपयोग किया जाता है।<ref>{{Cite web|title=What is a Newline?|url=https://www.computerhope.com/jargon/n/newline.htm|access-date=2021-05-10|website=www.computerhope.com|language=en}}</ref>




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


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


क्रम {{mono|CR}}+{{mono|LF}} आमतौर पर कई शुरुआती कंप्यूटर सिस्टम पर इस्तेमाल किया गया था, जिन्होंने [[टेलेटाइप कॉर्पोरेशन]] मशीनों को अपनाया था - आमतौर पर [[टेलेटाइप मॉडल 33]] एएसआर - कंसोल डिवाइस के रूप में, क्योंकि इस क्रम को उन प्रिंटरों को नई लाइन की शुरुआत में रखने की आवश्यकता थी। न्यूलाइन को दो कार्यों में अलग करना इस तथ्य को छुपाता है कि प्रिंट हेड अगले वर्ण को प्रिंट करने के लिए दूर दाईं ओर से अगली पंक्ति की शुरुआत तक वापस नहीं आ सकता है। के बाद मुद्रित कोई भी वर्ण {{mono|CR}} अक्सर पृष्ठ के मध्य में धुंध के रूप में प्रिंट होता था जबकि प्रिंट हेड अभी भी गाड़ी को पहली स्थिति में वापस ले जा रहा था। समाधान नई पंक्ति को दो वर्ण बनाना था: {{mono|CR}} कैरिज को कॉलम में ले जाने के लिए, और {{mono|LF}} कागज को ऊपर ले जाने के लिए।<ref>{{cite book |last=Qualline |first=Steve |title=Vi Improved - Vim |year=2001 <!-- PDF date=1 August 2002 -->|publisher=[[Sams Publishing]] |isbn=9780735710016 |page=[http://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf#page=120 120] |url=http://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf  |access-date=4 January 2023 |archive-date=8 April 2022 |archive-url=https://web.archive.org/web/20220408110814/http://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf}}</ref> वास्तव में, अक्सर अतिरिक्त वर्ण-बाहरी सीआर या एनयूएल भेजने के लिए आवश्यक होता था-जो अनदेखा कर दिए जाते हैं लेकिन प्रिंट हेड को बाएं मार्जिन पर जाने का समय देते हैं। कई शुरुआती वीडियो डिस्प्ले को भी डिस्प्ले को [[स्क्रॉल]] करने के लिए कई वर्ण बार की आवश्यकता होती है।
क्रम {{mono|CR}}+{{mono|LF}} सामान्यतः कई प्रारंभिकी कंप्यूटर प्रणाली पर उपयोग किया गया था, जिन्होंने [[टेलेटाइप कॉर्पोरेशन]] मशीनों को अपनाया था - सामान्यतः [[टेलेटाइप मॉडल 33]] एएसआर - कंसोल डिवाइस के रूप में, क्योंकि इस क्रम को उन प्रिंटरों को नई लाइन की प्रारंभ में रखने की आवश्यकता थी। न्यूलाइन को दो कार्यों में अलग करना इस तथ्य को छुपाता है कि प्रिंट हेड अगले वर्ण को प्रिंट करने के लिए दूर दाईं ओर से अगली पंक्ति की प्रारंभ तक वापस नहीं आ सकता है। {{mono|CR}} के बाद मुद्रित कोई भी वर्ण अधिकांश पृष्ठ के मध्य में धुंध के रूप में प्रिंट होता था चूंकि प्रिंट हेड अभी भी गाड़ी को पहली स्थिति में वापस ले जा रहा था। समाधान यह था कि गाड़ी को कॉलम एक में ले जाने के लिए न्यूलाइन दो अक्षर सीआर और पेपर को ऊपर ले जाने के लिए एलएफ बनाया जाए।।<ref>{{cite book |last=Qualline |first=Steve |title=Vi Improved - Vim |year=2001 <!-- PDF date=1 August 2002 -->|publisher=[[Sams Publishing]] |isbn=9780735710016 |page=[http://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf#page=120 120] |url=http://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf  |access-date=4 January 2023 |archive-date=8 April 2022 |archive-url=https://web.archive.org/web/20220408110814/http://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf}}</ref> वास्तव में, अधिकांश अतिरिक्त वर्ण-बाहरी सीआर या एनयूएल भेजने के लिए आवश्यक होता था-जो अनदेखा कर दिए जाते हैं लेकिन प्रिंट हेड को बाएं मार्जिन पर जाने का समय देते हैं। कई प्रारंभिकी वीडियो डिस्प्ले को भी डिस्प्ले को [[स्क्रॉल]] करने के लिए कई वर्ण बार की आवश्यकता होती है।


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


[[मॉलटिक्स]] ऑपरेटिंग सिस्टम ने 1964 में विकास शुरू किया और इसका इस्तेमाल किया {{mono|LF}} अकेले इसकी नई लाइन के रूप में। मल्टिक्स ने इस वर्ण का अनुवाद करने के लिए डिवाइस ड्राइवर का इस्तेमाल किया, जो प्रिंटर की जरूरत के किसी भी क्रम में (अतिरिक्त पैडिंग वर्णों सहित), और एकल बाइट प्रोग्रामिंग के लिए अधिक सुविधाजनक था। क्या अधिक स्पष्ट प्रतीत होता है  पसंद-{{mono|CR}}- उपयोग नहीं किया गया था, जैसा {{mono|CR}} [[जोर (टाइपोग्राफी)]], [[बल देना]] और [[स्ट्रिकथ्रौघ]] प्रभाव बनाने के लिए पंक्ति को दूसरे के साथ ओवरप्रिंट करने का उपयोगी कार्य प्रदान किया। शायद अधिक महत्वपूर्ण, का उपयोग {{mono|LF}} अकेले लाइन टर्मिनेटर के रूप में पहले से ही अंतिम आईएसओ/आईईसी 646 मानक के मसौदे में शामिल किया गया था। [[यूनिक्स]] ने मल्टिक्स अभ्यास का पालन किया, और बाद में यूनिक्स जैसी प्रणालियों ने यूनिक्स का अनुसरण किया। इसने विंडोज और यूनिक्स जैसे [[ऑपरेटिंग सिस्टम]] के बीच संघर्ष पैदा किया, जिससे ऑपरेटिंग सिस्टम पर बनी फाइलों को दूसरे ऑपरेटिंग सिस्टम द्वारा उचित रूप से स्वरूपित या व्याख्या नहीं किया जा सकता था (उदाहरण के लिए [[माइक्रोसॉफ्ट नोटपैड]] जैसे विंडोज टेक्स्ट एडिटर में लिखी गई [[UNIX शेल स्क्रिप्ट]])<ref>{{Cite news |title=Windows Notepad finally understands everyone else's end of line characters |url=https://www.zdnet.com/article/windows-notepad-finally-understands-everyone-elses-end-of-line-characters/ |access-date=4 January 2023 |publisher=[[ZDNet]] |language=en|last=Duckett|first=Chris |quote=[A]fter decades of frustration, and having to download a real text editor to change a single line in a config file from a Linux box, Microsoft has updated Notepad to be able to handle end of line characters used in Unix, Linux, and macOS environments.|archive-url=https://web.archive.org/web/20180513055845/https://www.zdnet.com/article/windows-notepad-finally-understands-everyone-elses-end-of-line-characters/|archive-date=13 May 2018}}</ref><ref>{{Cite web |last=Lopez |first=Michel |date=8 May 2018 |title=Introducing extended line endings support in Notepad |url=https://devblogs.microsoft.com/commandline/extended-eol-in-notepad/ |access-date=4 January 2023 |website=Windows Command Line |language=en-US|quote=As with any change to a long-established tool, there’s a chance that this new behavior may not work for your scenarios, or you may prefer to disable this new behavior and return to Notepad’s original behavior. To do this, you can change [...registry keys...] to tweak how Notepad handles pasting of text, and which EOL character to use when Enter/Return is hit|archive-url=https://web.archive.org/web/20190406132933/https://devblogs.microsoft.com/commandline/extended-eol-in-notepad/|archive-date=6 April 2019}}</ref>).
[[मॉलटिक्स]] ऑपरेटिंग प्रणाली ने 1964 में विकास प्रारंभ किया और इसका उपयोग किया {{mono|LF}} अकेले इसकी नई लाइन के रूप में। मल्टिक्स ने इस वर्ण का अनुवाद करने के लिए डिवाइस ड्राइवर का उपयोग किया, जो प्रिंटर की आवशयकता के किसी भी क्रम में (अतिरिक्त पैडिंग वर्णों सहित), और एकल बाइट प्रोग्रामिंग के लिए अधिक सुविधाजनक था। क्या अधिक स्पष्ट प्रतीत होता है  पसंद-{{mono|CR}}- उपयोग नहीं किया गया था, जैसा {{mono|CR}} [[जोर (टाइपोग्राफी)]], [[बल देना]] और [[स्ट्रिकथ्रौघ]] प्रभाव बनाने के लिए पंक्ति को दूसरे के साथ ओवरप्रिंट करने का उपयोगी कार्य प्रदान किया था। संभवतः अधिक महत्वपूर्ण, का उपयोग {{mono|LF}} अकेले लाइन टर्मिनेटर के रूप में पहले से ही अंतिम आईएसओ/आईईसी 646 मानक के मसौदे में सम्मिलित किया गया था। [[यूनिक्स]] ने मल्टिक्स अभ्यास का पालन किया, और बाद में यूनिक्स जैसी प्रणालियों ने यूनिक्स का अनुसरण किया। इसने विंडोज और यूनिक्स जैसे [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] के बीच संघर्ष उत्पन्न किया, जिससे ऑपरेटिंग प्रणाली पर बनी फाइलों को दूसरे ऑपरेटिंग प्रणाली द्वारा उचित रूप से स्वरूपित या व्याख्या नहीं किया जा सकता था (उदाहरण के लिए [[माइक्रोसॉफ्ट नोटपैड]] जैसे विंडोज अवतरण एडिटर में लिखी गई [[UNIX शेल स्क्रिप्ट]])<ref>{{Cite news |title=Windows Notepad finally understands everyone else's end of line characters |url=https://www.zdnet.com/article/windows-notepad-finally-understands-everyone-elses-end-of-line-characters/ |access-date=4 January 2023 |publisher=[[ZDNet]] |language=en|last=Duckett|first=Chris |quote=[A]fter decades of frustration, and having to download a real text editor to change a single line in a config file from a Linux box, Microsoft has updated Notepad to be able to handle end of line characters used in Unix, Linux, and macOS environments.|archive-url=https://web.archive.org/web/20180513055845/https://www.zdnet.com/article/windows-notepad-finally-understands-everyone-elses-end-of-line-characters/|archive-date=13 May 2018}}</ref><ref>{{Cite web |last=Lopez |first=Michel |date=8 May 2018 |title=Introducing extended line endings support in Notepad |url=https://devblogs.microsoft.com/commandline/extended-eol-in-notepad/ |access-date=4 January 2023 |website=Windows Command Line |language=en-US|quote=As with any change to a long-established tool, there’s a chance that this new behavior may not work for your scenarios, or you may prefer to disable this new behavior and return to Notepad’s original behavior. To do this, you can change [...registry keys...] to tweak how Notepad handles pasting of text, and which EOL character to use when Enter/Return is hit|archive-url=https://web.archive.org/web/20190406132933/https://devblogs.microsoft.com/commandline/extended-eol-in-notepad/|archive-date=6 April 2019}}</ref>).


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


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


{| class="wikitable plainrowheaders" style="text-align: center;"
{| class="wikitable plainrowheaders" style="text-align: center;"
|+Software applications and operating system representation of a newline with one or two [[control character]]s
|+सॉफ़्टवेयर एप्लिकेशन और ऑपरेटिंग सिस्टम एक या दो [[control character|नियंत्रण वर्णों]] के साथ एक नई पंक्ति का प्रतिनिधित्व करते हैं
!scope="col"| [[Operating system]]
!scope="col"| [[Operating system|प्रचालन तंत्र]]
! scope="col"|[[Character encoding]]
! scope="col"|[[Character encoding|अक्षरों को सांकेतिक अक्षरों में बदलना]]
! scope="col"|Abbreviation
! scope="col"|शब्द-संक्षेप
! scope="col"|[[hexadecimal|hex]] value
! scope="col"|[[hexadecimal|हेक्स]] मान
! scope="col"|[[decimal|dec]] value
! scope="col"|[[decimal|डेक]] मान
! scope="col"|[[Escape sequence]]
! scope="col"|[[Escape sequence|बचने का क्रम]]
|-
|-
!scope="row" style="text-align:left;" | [[Unix]] and [[Unix-like]] systems ([[Linux]], [[macOS]], [[FreeBSD]], [[IBM AIX|AIX]], [[Xenix]], etc.), [[Multics]], [[BeOS]], [[Amiga]], [[RISC OS]], and others<ref>{{cite web|url=http://www.bluesock.org/~willg/dev/ascii.html|title=ASCII Chart}}</ref>
!scope="row" style="text-align:left;" | [[Unix|यूनिक्स]] और [[Unix-like|यूनिक्स जैसी]] प्रणालियाँ ([[Linux|लिनक्स]], [[macOS|माकोस]], [[FreeBSD|फ्रीबीएसडी]], [[IBM AIX|ऐक्स]], [[Xenix|ज़ेनिक्स]], आदि.), [[Multics|मल्टिक्स]], [[BeOS|बीओएस]], [[Amiga|अमिगा]], [[RISC OS|आरआईएससी ओएस]], और अन्य<ref>{{cite web|url=http://www.bluesock.org/~willg/dev/ascii.html|title=ASCII Chart}}</ref>
| rowspan="5" | [[ASCII]]
| rowspan="5" | [[ASCII]]
| {{mono|LF}}
| {{mono|LF}}
Line 37: Line 37:
| {{mono|\n}}
| {{mono|\n}}
|-
|-
!scope="row"  style="text-align:left;" | [[Microsoft Windows]], [[DOS]] ([[MS-DOS]], [[PC DOS]], etc.), [[Atari TOS]], [[Digital Equipment Corporation|DEC]] [[TOPS-10]], [[RT-11]], [[CP/M]], [[MP/M]], [[OS/2]], [[Symbian OS]], [[Palm OS]], [[Amstrad CPC]], and most other early non-Unix and non-IBM operating systems
!scope="row"  style="text-align:left;" | [[Microsoft Windows|माइक्रोसॉफ्ट विंडोज]], [[DOS|डॉस]] ([[MS-DOS|एमएस-डॉस]], [[PC DOS|पीसी डॉस]], आदि), [[Atari TOS|अटारी टीओएस]], [[Digital Equipment Corporation|डेक]] [[TOPS-10|टॉप्स-10]], [[RT-11]], [[CP/M]], [[MP/M]], [[OS/2]], [[Symbian OS|सिम्बियन ओएस]], [[Palm OS|पाम ओएस]], [[Amstrad CPC|एमस्ट्राड सीपीसी]], और अधिकांश अन्य प्रारम्भिक गैर-यूनिक्स और गैर-आईबीएम प्रचालन प्रणाली
| {{mono|CR LF}}
| {{mono|CR LF}}
| {{mono|0D 0A}}
| {{mono|0D 0A}}
Line 43: Line 43:
| {{mono|\r\n}}
| {{mono|\r\n}}
|-
|-
!scope="row"  style="text-align:left;" | [[Commodore International|Commodore]] 8-bit machines ([[Commodore 64|C64]], [[Commodore 128|C128]]), [[BBC Micro|Acorn BBC]], [[ZX Spectrum]], [[TRS-80]], [[Apple II series]], [[Oberon (operating system)|Oberon]], the [[classic Mac OS]], MIT [[Lisp machine|Lisp Machine]] and [[OS-9]]
!scope="row"  style="text-align:left;" | [[Commodore International|कप्रणालीोर]] 8-बिट मशीन ([[Commodore 64|C64]], [[Commodore 128|C128]]), [[BBC Micro|एकॉर्न बीबीसी]], [[ZX Spectrum|जेडएक्स स्पेक्ट्रम]], [[TRS-80|टीआरएस-80]], [[Apple II series|एप्पल द्वितीय श्रृंखला]], [[Oberon (operating system)|ओबेरोन]], [[classic Mac OS|क्लासिक मैक ओएस]], एमआईटी [[Lisp machine|लिस्प मशीन]] और [[OS-9|ओएस-9]]
| {{mono|CR}}
| {{mono|CR}}
| {{mono|0D}}
| {{mono|0D}}
Line 49: Line 49:
| {{mono|\r}}
| {{mono|\r}}
|-  
|-  
!scope="row"  style="text-align:left;" | [[QNX]] pre-POSIX implementation (version < 4)
!scope="row"  style="text-align:left;" | [[QNX|क्यूएनएक्स]] पूर्व-पोसिक्स कार्यान्वयन (संस्करण <4)
| {{mono|[[Record Separator|RS]]}}
| {{mono|[[Record Separator|RS]]}}
| {{mono|1E}}
| {{mono|1E}}
Line 55: Line 55:
| {{mono|\036}}
| {{mono|\036}}
|-
|-
!scope="row"  style="text-align:left;" | [[BBC Micro|Acorn BBC]]<ref>{{cite book |last1=Bray |first1=Andrew C. |last2=Dickens |first2=Adrian C. |last3=Holmes |first3=Mark A. |title=The Advanced User Guide for the BBC Microcomputer |year=1983 |isbn=978-0946827008 |pages=103, 104 |url=http://stardot.org.uk/mirrors/www.bbcdocs.com/filebase/essentials/BBC%20Microcomputer%20Advanced%20User%20Guide.pdf |access-date=30 January 2019}}</ref> and [[RISC OS]] spooled text output<ref>{{cite web |title=RISC OS 3 Programmers' Reference Manual |url=http://www.riscos.com/support/developers/prm/charoutput.html#66036 |access-date=18 July 2018}}</ref>
!scope="row"  style="text-align:left;" | [[BBC Micro|एकोर्न बीबीसी]]<ref>{{cite book |last1=Bray |first1=Andrew C. |last2=Dickens |first2=Adrian C. |last3=Holmes |first3=Mark A. |title=The Advanced User Guide for the BBC Microcomputer |year=1983 |isbn=978-0946827008 |pages=103, 104 |url=http://stardot.org.uk/mirrors/www.bbcdocs.com/filebase/essentials/BBC%20Microcomputer%20Advanced%20User%20Guide.pdf |access-date=30 January 2019}}</ref> और [[RISC OS|आरआईएससी ओएस]] ने अवतरण आउटपुट स्पूल किया<ref>{{cite web |title=RISC OS 3 Programmers' Reference Manual |url=http://www.riscos.com/support/developers/prm/charoutput.html#66036 |access-date=18 July 2018}}</ref>  
| {{mono|LF CR}}
| {{mono|LF CR}}
| {{mono|0A 0D}}
| {{mono|0A 0D}}
Line 61: Line 61:
| {{mono|\n\r}}
| {{mono|\n\r}}
|-
|-
!scope="row"  style="text-align:left;" | [[Atari 8-bit family|Atari 8-bit machines]]  
!scope="row"  style="text-align:left;" | [[Atari 8-bit family|अटारी 8-बिट मशीनें]]
| rowspan="1" |  [[ATASCII]]
| rowspan="1" |  [[ATASCII]]
|  
|  
Line 68: Line 68:
|  
|  
|-
|-
!scope="row"  style="text-align:left;" | [[IBM]] mainframe systems, including [[z/OS]] ([[OS/390]]) and [[IBM i]] ([[OS/400]])
!scope="row"  style="text-align:left;" | [[IBM|आईबीएम]] मेनफ्रेम सिस्टम, [[z/OS]] ([[OS/390]]) and [[IBM i|आईबीएम आई]] ([[OS/400]]) सहित 
| [[EBCDIC]]
| [[EBCDIC|ईबीसीडीआईसी]]
| {{mono|NL}}
| {{mono|NL}}
| {{mono|15}}
| {{mono|15}}
Line 75: Line 75:
| {{mono|\025}}
| {{mono|\025}}
|-
|-
!scope="row"  style="text-align:left;" | [[ZX80]] and [[ZX81]] (Home computers from [[Sinclair Research|Sinclair Research Ltd]])
!scope="row"  style="text-align:left;" | [[ZX80|जेडएक्स80]] and [[ZX81|जेडएक्स]][[ZX81|81]] ([[Sinclair Research|सिनक्लेयर रिसर्च लिमिटेड]] से घरेलू कंप्यूटर)  
| used a specific non-ASCII character set
| एक विशिष्ट गैर-ASCII वर्ण सेट का उपयोग किया
| NEWLINE
| न्यूलाइन
| {{mono|76}}
| {{mono|76}}
| {{mono|118}}
| {{mono|118}}
|  
|  
|}
|}
*EBCDIC सिस्टम- मुख्य रूप से [[IBM]] मेनफ्रेम सिस्टम, जिसमें z/OS (OS/390) और [[IBM i]] (OS/400) शामिल हैं- का उपयोग करें {{mono|NL}} (नई पंक्ति, {{mono|0x15}})<ref>IBM System/360 Reference Data Card, Publication GX20-1703, IBM Data Processing Division, White Plains, NY</ref> लाइन फीड और कैरिज रिटर्न के कार्यों के संयोजन वाले चरित्र के रूप में। समतुल्य यूनिकोड वर्ण ({{code|0x85}}) कहा जाता है {{mono|NEL}} (अगली पंक्ति)ईबीसीडीआईसी में नियंत्रण वर्ण भी कहा जाता है {{mono|CR}} और {{mono|LF}}, लेकिन का संख्यात्मक मान {{mono|LF}} ({{mono|0x25}}) ASCII द्वारा उपयोग किए गए से भिन्न है ({{mono|0x0A}}). इसके अतिरिक्त, कुछ EBCDIC वैरिएंट भी उपयोग करते हैं {{mono|NL}} लेकिन चरित्र को अलग संख्यात्मक कोड असाइन करें। हालाँकि, वे ऑपरेटिंग सिस्टम [[रिकॉर्ड-उन्मुख फ़ाइल सिस्टम]] सिस्टम | रिकॉर्ड-आधारित फ़ाइल सिस्टम का उपयोग करते हैं, जो पाठ फ़ाइलों को प्रति पंक्ति रिकॉर्ड के रूप में संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं।
*ईबीसीडीआईसी प्रणाली- मुख्य रूप से [[IBM|आईबीएम]] मेनफ्रेम प्रणाली, जिसमें z/OS (OS/390) और [[IBM i|आईबीएम आई]] (OS/400) सम्मिलित हैं- {{mono|NL}} (नई पंक्ति, {{mono|0x15}})<ref>IBM System/360 Reference Data Card, Publication GX20-1703, IBM Data Processing Division, White Plains, NY</ref> का उपयोग लाइन फीड और कैरिज रिटर्न के कार्यों के संयोजन वाले वर्ण के रूप में करते है। समतुल्य यूनिकोड वर्ण ({{code|0x85}}) को {{mono|NEL}} (अगली पंक्ति) कहा जाता है। ईबीसीडीआईसी में {{mono|CR}} और {{mono|LF}} नामक नियंत्रण वर्ण भी कहा जाता है, लेकिन {{mono|LF}} ({{mono|0x25}}) का संख्यात्मक मान ASCII ({{mono|0x0A}}) द्वारा उपयोग किए गए से भिन्न है। इसके अतिरिक्त, कुछ ईबीसीडीआईसी वैरिएंट भी {{mono|NL}} का उपयोग करते हैं  लेकिन वर्ण को अलग संख्यात्मक कोड असाइन करें। चूँकि, वे ऑपरेटिंग प्रणाली [[रिकॉर्ड-उन्मुख फ़ाइल सिस्टम|रिकॉर्ड-उन्मुख फ़ाइल प्रणाली]] प्रणाली का उपयोग करते हैं, जो पाठ फ़ाइलों को प्रति पंक्ति रिकॉर्ड के रूप में संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं।
* [[सीडीसी 6000 श्रृंखला]] के लिए ऑपरेटिंग सिस्टम ने 60-बिट शब्द के अंत में दो या दो से अधिक शून्य-मूल्य वाले छह-बिट वर्णों के रूप में नई पंक्ति को परिभाषित किया। कुछ विन्यासों ने शून्य-मूल्यवान वर्ण को [[बृहदान्त्र (विराम चिह्न)]] वर्ण के रूप में भी परिभाषित किया, जिसके परिणामस्वरूप स्थिति के आधार पर कई कॉलनों को नई पंक्ति के रूप में व्याख्या किया जा सकता है।
* [[सीडीसी 6000 श्रृंखला]] के लिए ऑपरेटिंग प्रणाली ने 60-बिट शब्द के अंत में दो या दो से अधिक शून्य-मूल्य वाले छह-बिट वर्णों के रूप में नई पंक्ति को परिभाषित किया गया था। कुछ विन्यासों ने शून्य-मूल्यवान वर्ण को [[बृहदान्त्र (विराम चिह्न)]] वर्ण के रूप में भी परिभाषित किया, जिसके परिणामस्वरूप स्थिति के आधार पर कई कॉलनों को नई पंक्ति के रूप में व्याख्या किया जा सकता है।
*[[RSX-11]] और [[OpenVMS]] भी रिकॉर्ड-आधारित फ़ाइल सिस्टम का उपयोग करते हैं, जो प्रति पंक्ति रिकॉर्ड के रूप में पाठ फ़ाइलों को संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं, लेकिन रिकॉर्ड प्रबंधन सेवा सुविधा पारदर्शी रूप से प्रत्येक पंक्ति में टर्मिनेटर जोड़ सकती है, जब इसे किसी एप्लिकेशन द्वारा पुनर्प्राप्त किया जाता है। रिकॉर्ड में स्वयं समान लाइन टर्मिनेटर वर्ण हो सकते हैं, जिन्हें या तो विशेषता या उपद्रव माना जा सकता है जो कि आवेदन पर निर्भर करता है। RMS न केवल रिकॉर्ड संग्रहीत करता है, बल्कि फ़ाइल के लिए अलग-अलग बिट्स में रिकॉर्ड विभाजक के बारे में मेटाडेटा भी संग्रहीत करता है, जिससे मामले और भी जटिल हो जाते हैं (चूंकि फ़ाइलों में निश्चित लंबाई के रिकॉर्ड हो सकते हैं, ऐसे रिकॉर्ड जो गिनती या रिकॉर्ड द्वारा समाप्त होते हैं जो विशिष्ट वर्ण द्वारा समाप्त होते हैं ). बिट्स सामान्य नहीं हैं, इसलिए जब वे इसे निर्दिष्ट कर सकते हैं {{mono|CR}}{{mono|LF}} या {{mono|LF}} या और भी {{mono|CR}} लाइन टर्मिनेटर है, वे किसी अन्य कोड को स्थानापन्न नहीं कर सकते।
*[[RSX-11]] और [[OpenVMS|ओपनवीएमएस]] भी रिकॉर्ड-आधारित फ़ाइल प्रणाली का उपयोग करते हैं, जो प्रति पंक्ति रिकॉर्ड के रूप में पाठ फ़ाइलों को संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं, लेकिन रिकॉर्ड प्रबंधन सेवा सुविधा पारदर्शी रूप से प्रत्येक पंक्ति में टर्मिनेटर जोड़ सकती है, जब इसे किसी एप्लिकेशन द्वारा पुनर्प्राप्त किया जाता है। रिकॉर्ड में स्वयं समान लाइन टर्मिनेटर वर्ण हो सकते हैं, जिन्हें या तो विशेषता या उपद्रव माना जा सकता है जो कि आवेदन पर निर्भर करता है। RMS न केवल रिकॉर्ड संग्रहीत करता है, किन्तु फ़ाइल के लिए अलग-अलग बिट्स में रिकॉर्ड विभाजक के बारे में मेटाडेटा भी संग्रहीत करता है, जिससे स्थितियों और भी जटिल हो जाते हैं (चूंकि फ़ाइलों में निश्चित लंबाई के रिकॉर्ड हो सकते हैं, ऐसे रिकॉर्ड जो गिनती या रिकॉर्ड द्वारा समाप्त होते हैं जो विशिष्ट वर्ण द्वारा समाप्त होते हैं ). बिट्स सामान्य नहीं हैं, इसलिए जब वे इसे निर्दिष्ट कर सकते हैं {{mono|CR}}{{mono|LF}} या {{mono|LF}} या और भी {{mono|CR}} लाइन टर्मिनेटर है, वे किसी अन्य कोड को स्थानापन्न नहीं कर सकते।
*फिक्स्ड लाइन लेंथ का इस्तेमाल कुछ शुरुआती [[मेनफ़्रेम कंप्यूटर]] ऑपरेटिंग सिस्टम द्वारा किया जाता था। ऐसी प्रणाली में, उदाहरण के लिए, प्रत्येक 72 या 80 वर्णों में निहित अंत-पंक्ति मान ली गई थी। कोई न्यूलाइन वर्ण संग्रहीत नहीं किया गया था। यदि कोई फ़ाइल बाहरी दुनिया से आयात की गई थी, तो लाइन की लंबाई से छोटी लाइनों को रिक्त स्थान के साथ पैडेड करना पड़ता था, जबकि लाइन की लंबाई से अधिक लंबी लाइनों को छोटा करना पड़ता था। इसने [[छिद्रित कार्ड]]ों के उपयोग की नकल की, जिस पर प्रत्येक पंक्ति को अलग कार्ड पर संग्रहीत किया गया था, आमतौर पर प्रत्येक कार्ड पर 80 कॉलम के साथ, अक्सर कॉलम 73-80 में अनुक्रम संख्या के साथ। इनमें से कई प्रणालियों ने अगले रिकॉर्ड की शुरुआत में [[एएसए कैरिज नियंत्रण वर्ण]] जोड़े; यह इंगित कर सकता है कि क्या अगला रिकॉर्ड पिछले रिकॉर्ड, या नई लाइन द्वारा शुरू की गई लाइन की निरंतरता थी, या पिछली पंक्ति को ओवरप्रिंट करना चाहिए (के समान) {{mono|CR}}). अक्सर यह सामान्य मुद्रण वर्ण होता था जैसे {{code|#}} इस प्रकार पंक्ति में पहले वर्ण के रूप में उपयोग नहीं किया जा सकता था। कुछ शुरुआती लाइन प्रिंटरों ने इन वर्णों की सीधे उन्हें भेजे गए रिकॉर्ड में व्याख्या की।
*फिक्स्ड लाइन लेंथ का उपयोग कुछ प्रारंभिकी [[मेनफ़्रेम कंप्यूटर]] ऑपरेटिंग प्रणाली द्वारा किया जाता था। ऐसी प्रणाली में, उदाहरण के लिए, प्रत्येक 72 या 80 वर्णों में निहित अंत-पंक्ति मान ली गई थी। कोई न्यूलाइन वर्ण संग्रहीत नहीं किया गया था। यदि कोई फ़ाइल बाहरी संसार से आयात की गई थी, तो लाइन की लंबाई से छोटी लाइनों को रिक्त स्थान के साथ पैडेड करना पड़ता था, चूंकि लाइन की लंबाई से अधिक लंबी लाइनों को छोटा करना पड़ता था। इसने [[छिद्रित कार्ड|छिद्रित कार्डों]] के उपयोग की नकल की, जिस पर प्रत्येक पंक्ति को अलग कार्ड पर संग्रहीत किया गया था, सामान्यतः प्रत्येक कार्ड पर 80 कॉलम के साथ, अधिकांश कॉलम 73-80 में अनुक्रम संख्या के साथ। इनमें से कई प्रणालियों ने अगले रिकॉर्ड की प्रारंभ में [[एएसए कैरिज नियंत्रण वर्ण]] जोड़े; यह निरुपित कर सकता है कि क्या अगला रिकॉर्ड पिछले रिकॉर्ड, या नई लाइन द्वारा प्रारंभ की गई लाइन की निरंतरता थी, या पिछली पंक्ति को ओवरप्रिंट करना चाहिए (के समान) {{mono|CR}}). अधिकांश यह सामान्य मुद्रण वर्ण होता था जैसे {{code|#}} इस प्रकार पंक्ति में पहले वर्ण के रूप में उपयोग नहीं किया जा सकता था। कुछ प्रारंभी लाइन प्रिंटरों ने इन वर्णों की सीधे उन्हें भेजे गए रिकॉर्ड में व्याख्या की।


=== यूनिकोड ===
=== यूनिकोड ===
{{redir|Paragraph separator|the symbol also known as a "paragraph sign"|Pilcrow}}
{{redir|पैराग्राफ विभाजक|प्रतीक को "अनुच्छेद चिह्न" के रूप में भी जाना जाता है|पिलक्रो}}
यूनिकोड मानक कई वर्णों को परिभाषित करता है जो अनुरूप अनुप्रयोगों को लाइन टर्मिनेटर के रूप में पहचानना चाहिए:<ref>{{cite web|url=https://www.unicode.org/reports/tr14/tr14-32.html|title=UAX #14: Unicode Line Breaking Algorithm|website=www.unicode.org}}</ref>
यूनिकोड मानक कई वर्णों को परिभाषित करता है जो अनुरूप अनुप्रयोगों को लाइन टर्मिनेटर के रूप में पहचानना चाहिए:<ref>{{cite web|url=https://www.unicode.org/reports/tr14/tr14-32.html|title=UAX #14: Unicode Line Breaking Algorithm|website=www.unicode.org}}</ref>
:{{mono|&nbsp;{{ctrl|LF}}}}:{{mono|&nbsp;&nbsp;&nbsp;}} रेखा भरण, {{mono|U+000A}}
:{{mono|&nbsp;{{ctrl|LF}}}}:{{mono|&nbsp;&nbsp;&nbsp;}} रेखा भरण, {{mono|U+000A}}
Line 98: Line 98:
:{{mono|&nbsp;{{ctrl|LS}}}}:{{mono|&nbsp;&nbsp;&nbsp;}} रेखा विभाजक, {{mono|U+2028}}
:{{mono|&nbsp;{{ctrl|LS}}}}:{{mono|&nbsp;&nbsp;&nbsp;}} रेखा विभाजक, {{mono|U+2028}}
:{{mono|&nbsp;{{ctrl|PS}}}}:{{mono|&nbsp;&nbsp;&nbsp;}} अनुच्छेद विभाजक, {{mono|U+2029}}
:{{mono|&nbsp;{{ctrl|PS}}}}:{{mono|&nbsp;&nbsp;&nbsp;}} अनुच्छेद विभाजक, {{mono|U+2029}}
उदाहरण के लिए, सभी लाइन टर्मिनेटरों को वर्ण में परिवर्तित करने जैसे दृष्टिकोण की तुलना में यह अत्यधिक जटिल लग सकता है {{mono|LF}}. हालांकि, यूनिकोड को किसी टेक्स्ट फ़ाइल को किसी भी मौजूदा एन्कोडिंग से यूनिकोड में और वापस कनवर्ट करते समय सभी सूचनाओं को संरक्षित करने के लिए डिज़ाइन किया गया था। इसलिए, यूनिकोड में मौजूदा एनकोडिंग में शामिल वर्ण होने चाहिए।
उदाहरण के लिए, सभी लाइन टर्मिनेटरों को वर्ण में परिवर्तित करने जैसे दृष्टिकोण की तुलना में यह अत्यधिक जटिल लग सकता है {{mono|LF}}. चूंकि, यूनिकोड को किसी अवतरण फ़ाइल को किसी भी वर्तमान एन्कोडिंग से यूनिकोड में और वापस कनवर्ट करते समय सभी सूचनाओं को संरक्षित करने के लिए डिज़ाइन किया गया था। इसलिए, यूनिकोड में वर्तमान एनकोडिंग में सम्मिलित वर्ण होने चाहिए।


उदाहरण के लिए: {{mono|{{ctrl|NL}}}} ईबीसीडीआईसी का हिस्सा है, जो कोड का उपयोग करता है {{mono|0x15}}; यह आमतौर पर यूनिकोड में मैप किया जाता है {{mono|NEL}}, {{mono|0x85}}, जो C1 कंट्रोल सेट में कंट्रोल कैरेक्टर है।<ref>{{cite web |title=C1 Control Character Set of ISO 6429 |date=1 October 1983 |publisher=IPSJ |department=ITSCJ |url=https://www.itscj-ipsj.jp/ir/077.pdf |access-date=3 March 2022}}</ref> जैसे, यह ईसीएमए 48 द्वारा परिभाषित किया गया है,<ref>{{cite report |title=Control Functions for Coded Character Sets |date=June 1991 |publisher=ECMA International |url=http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf}}</ref> और ISO/IEC 2022 (जो ECMA 35 के समतुल्य है) के अनुरूप एनकोडिंग द्वारा मान्यता प्राप्त है।<ref>{{cite report |title=Character Code Structure and Extension Techniques |edition=6th |date=December 1994 |publisher=ECMA International |url=http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-035.pdf}}</ref> C1 नियंत्रण सेट [[ISO-8859-1]] के साथ भी संगत है।{{citation needed|date=October 2011}} यूनिकोड मानक में अपनाया गया दृष्टिकोण सभी संभावित प्रकार के लाइन टर्मिनेटरों को पहचानने के लिए अनुप्रयोगों को सक्षम करते हुए राउंड-ट्रिप परिवर्तन को सूचना-संरक्षण करने की अनुमति देता है।
उदाहरण के लिए: {{mono|{{ctrl|NL}}}} ईबीसीडीआईसी का हिस्सा है, जो कोड का उपयोग करता है {{mono|0x15}}; यह सामान्यतः यूनिकोड में मैप किया जाता है {{mono|NEL}}, {{mono|0x85}}, जो C1 कंट्रोल सेट में कंट्रोल कैरेक्टर है।<ref>{{cite web |title=C1 Control Character Set of ISO 6429 |date=1 October 1983 |publisher=IPSJ |department=ITSCJ |url=https://www.itscj-ipsj.jp/ir/077.pdf |access-date=3 March 2022}}</ref> जैसे, यह ईसीएमए 48 द्वारा परिभाषित किया गया है,<ref>{{cite report |title=Control Functions for Coded Character Sets |date=June 1991 |publisher=ECMA International |url=http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf}}</ref> और ISO/IEC 2022 (जो ECMA 35 के समतुल्य है) के अनुरूप एनकोडिंग द्वारा मान्यता प्राप्त है।<ref>{{cite report |title=Character Code Structure and Extension Techniques |edition=6th |date=December 1994 |publisher=ECMA International |url=http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-035.pdf}}</ref> C1 नियंत्रण सेट [[ISO-8859-1]] के साथ भी संगत है।{{citation needed|date=October 2011}} यूनिकोड मानक में अपनाया गया दृष्टिकोण सभी संभावित प्रकार के लाइन टर्मिनेटरों को पहचानने के लिए अनुप्रयोगों को सक्षम करते हुए राउंड-ट्रिप परिवर्तन को सूचना-संरक्षण करने की अनुमति देता है।


से अधिक न्यूलाइन कोड को पहचानना और उपयोग करना {{mono|0x7F}} ({{mono|NEL}}, {{mono|LS}} और {{mono|PS}}) अक्सर नहीं किया जाता है। वे [[यूटीएफ-8]] -8 में कई बाइट हैं, और कोड के लिए {{mono|NEL}} दीर्घवृत्त के रूप में इस्तेमाल किया गया है ({{code|…}}) [[Windows-1252]] में वर्ण। उदाहरण के लिए:
से अधिक न्यूलाइन कोड को पहचानना और उपयोग करना {{mono|0x7F}} ({{mono|NEL}}, {{mono|LS}} और {{mono|PS}}) अधिकांश नहीं किया जाता है। वे [[यूटीएफ-8]] -8 में कई बाइट हैं, और कोड के लिए {{mono|NEL}} दीर्घवृत्त के रूप में उपयोग किया गया है ({{code|…}}) [[Windows-1252|विंडोज-1252]] में वर्ण। उदाहरण के लिए:
*ईसीएमएस्क्रिप्ट स्वीकार करता है {{mono|LS}} और {{mono|PS}} लाइन-ब्रेक के रूप में,<ref>{{cite web |title=ECMAScript 2019 Language Specification |date=June 2019 |publisher=ECMA International |at=[https://www.ecma-international.org/ecma-262/10.0/#sec-line-terminators 11.3 Line Terminators] |url=https://www.ecma-international.org/ecma-262/10.0/}}</ref> लेकिन मानता है {{mono|U+0085}} ({{mono|NEL}}) लाइन-ब्रेक के बजाय [[व्हाइटस्पेस चरित्र]]<ref>{{cite web |title=ECMAScript 2019 Language Specification |url=https://www.ecma-international.org/ecma-262/10.0/ |at=[https://www.ecma-international.org/ecma-262/10.0/#sec-white-space 11.2 White Space] |publisher= ECMA International |date=June 2019}}</ref>
*ईसीएमएस्क्रिप्ट स्वीकार करता है {{mono|LS}} और {{mono|PS}} लाइन-ब्रेक के रूप में,<ref>{{cite web |title=ECMAScript 2019 Language Specification |date=June 2019 |publisher=ECMA International |at=[https://www.ecma-international.org/ecma-262/10.0/#sec-line-terminators 11.3 Line Terminators] |url=https://www.ecma-international.org/ecma-262/10.0/}}</ref> लेकिन मानता है {{mono|U+0085}} ({{mono|NEL}}) लाइन-ब्रेक के अतिरिक्त [[व्हाइटस्पेस चरित्र|व्हाइटस्पेस वर्ण]]<ref>{{cite web |title=ECMAScript 2019 Language Specification |url=https://www.ecma-international.org/ecma-262/10.0/ |at=[https://www.ecma-international.org/ecma-262/10.0/#sec-white-space 11.2 White Space] |publisher= ECMA International |date=June 2019}}</ref>
*[[Windows 10]] इनमें से किसी का भी इलाज नहीं करता है {{mono|NEL}}, {{mono|LS}}, या {{mono|PS}} अपने डिफ़ॉल्ट टेक्स्ट [[एडिट]]र, माइक्रोसॉफ्ट नोटपैड में लाइन-ब्रेक के रूप में।
*[[Windows 10|विंडोज 10]] इनमें से किसी का भी इलाज {{mono|NEL}}, {{mono|LS}}, या {{mono|PS}} अपने डिफ़ॉल्ट अवतरण [[एडिट]]र, माइक्रोसॉफ्ट नोटपैड में लाइन-ब्रेक के रूप में नहीं करता है।
*Gedit, [[GNOME]] [[डेस्कटॉप वातावरण]] का डिफ़ॉल्ट [[पाठ संपादक]], ट्रीट करता है {{mono|LS}} और {{mono|PS}} न्यूलाइन के रूप में लेकिन के लिए नहीं है {{mono|NEL}}.
*जीएडिट, [[GNOME|जनोमे]] [[डेस्कटॉप वातावरण]] का डिफ़ॉल्ट [[पाठ संपादक]], ट्रीट करता है {{mono|LS}} और {{mono|PS}} न्यूलाइन {{mono|NEL}} के रूप में लेकिन के लिए नहीं है।
* जेएसओएन<ref>{{cite document |url=http://tools.ietf.org/html/rfc7159 |title=The JavaScript Object Notation (JSON) Data Interchange Format |at=[https://tools.ietf.org/html/rfc7159#section-7 7. Strings] |rfc=7159 |date=March 2014|last1=Bray |first1=Tim }}</ref> अनुमति देता है {{mono|LS}} और {{mono|PS}} तार के भीतर वर्ण, जबकि ECMAScript से पहले {{Pslink|ECMAScript|ES2019}}<ref>{{cite web |url=https://github.com/tc39/proposal-json-superset |title=Subsume JSON (a.k.a. JSON ⊂ ECMAScript) |date=22 May 2018 |website=GitHub }}</ref><ref>{{cite web |title=ECMAScript 2019 Language Specification |url=https://www.ecma-international.org/ecma-262/10.0/ |at=[https://www.ecma-international.org/ecma-262/10.0/#sec-literals-string-literals 11.8.4 String Literals] |publisher= ECMA International |date=June 2019}}</ref> उन्हें न्यूलाइन्स के रूप में माना, और इसलिए अवैध सिंटैक्स।<ref>{{cite web |title=ECMAScript 2018 Language Specification |url=https://www.ecma-international.org/ecma-262/9.0/ |at=[https://www.ecma-international.org/ecma-262/9.0/#sec-literals-string-literals 11.8.4 String Literals] |publisher= ECMA International |date=June 2018}}</ref>
* जेएसओएन<ref>{{cite document |url=http://tools.ietf.org/html/rfc7159 |title=The JavaScript Object Notation (JSON) Data Interchange Format |at=[https://tools.ietf.org/html/rfc7159#section-7 7. Strings] |rfc=7159 |date=March 2014|last1=Bray |first1=Tim }}</ref> अनुमति देता है {{mono|LS}} और {{mono|PS}} तार के अन्दर वर्ण, चूंकि एकमास्क्रिप्ट से पहले {{Pslink|ECMAScript|ES2019}}<ref>{{cite web |url=https://github.com/tc39/proposal-json-superset |title=Subsume JSON (a.k.a. JSON ⊂ ECMAScript) |date=22 May 2018 |website=GitHub }}</ref><ref>{{cite web |title=ECMAScript 2019 Language Specification |url=https://www.ecma-international.org/ecma-262/10.0/ |at=[https://www.ecma-international.org/ecma-262/10.0/#sec-literals-string-literals 11.8.4 String Literals] |publisher= ECMA International |date=June 2019}}</ref> उन्हें न्यूलाइन्स और इसलिए अवैध सिंटैक्स के रूप में माना।<ref>{{cite web |title=ECMAScript 2018 Language Specification |url=https://www.ecma-international.org/ecma-262/9.0/ |at=[https://www.ecma-international.org/ecma-262/9.0/#sec-literals-string-literals 11.8.4 String Literals] |publisher= ECMA International |date=June 2018}}</ref>
* [[वाईएएमएल]]<ref>{{cite web|url=https://yaml.org/spec/1.2/spec.html|title=YAML Ain't Markup Language (YAML) Version 1.2|at=[https://yaml.org/spec/1.2/spec.html#id2774608 5.4. Line Break Characters]|website=yaml.org}}</ref> JSON के साथ संगत होने के लिए अब उन्हें संस्करण 1.2 के रूप में विशेष के रूप में नहीं पहचानता है।
* [[वाईएएमएल]]<ref>{{cite web|url=https://yaml.org/spec/1.2/spec.html|title=YAML Ain't Markup Language (YAML) Version 1.2|at=[https://yaml.org/spec/1.2/spec.html#id2774608 5.4. Line Break Characters]|website=yaml.org}}</ref> JSON के साथ संगत होने के लिए अब उन्हें संस्करण 1.2 के रूप में विशेष के रूप में नहीं पहचानता है।


ध्यान दें कि यूनिकोड विशेष वर्ण {{mono|U+2424}} ({{sc2|SYMBOL FOR NEWLINE}}, {{code|␤}}), {{mono|U+23CE}} ({{sc2|RETURN SYMBOL}}, {{code|⏎}}), {{mono|U+240D}} ({{sc2|SYMBOL FOR CARRIAGE RETURN}}, {{code|␍}}) और {{mono|U+240A}} ({{sc2|SYMBOL FOR LINE FEED}}, {{code|␊}}) दस्तावेज़ के पाठक के लिए उपयोगकर्ता-दिखाई देने वाले चरित्र को प्रस्तुत करने के लिए [[ग्लिफ़]] हैं, और इस प्रकार खुद को नई पंक्ति के रूप में मान्यता नहीं दी जाती है।
ध्यान दें कि यूनिकोड विशेष वर्ण {{mono|U+2424}} ({{sc2|SYMBOL FOR NEWLINE}}, {{code|␤}}), {{mono|U+23CE}} ({{sc2|RETURN SYMBOL}}, {{code|⏎}}), {{mono|U+240D}} ({{sc2|SYMBOL FOR CARRIAGE RETURN}}, {{code|␍}}) और {{mono|U+240A}} ({{sc2|लाइन फीड के लिए प्रतीक}}, {{code|␊}}) दस्तावेज़ के पाठक के लिए उपयोगकर्ता-दिखाई देने वाले वर्ण को प्रस्तुत करने के लिए [[ग्लिफ़]] हैं, और इस प्रकार खुद को नई पंक्ति के रूप में मान्यता नहीं दी जाती है।


=== प्रोग्रामिंग भाषाओं में ===
=== प्रोग्रामिंग भाषाओं में ===
{{Redir|\n|the similar number notation|\nnn (disambiguation)}}
{{Redir|\n|समान संख्या संकेतन|\nnn (बहुविकल्पी)}}
[[में porting]] प्रोग्राम के निर्माण को सुविधाजनक बनाने के लिए, प्रोग्रामिंग लैंग्वेज विभिन्न वातावरणों में उपयोग किए जाने वाले विभिन्न प्रकार के न्यूलाइन अनुक्रमों से निपटने के लिए कुछ सार प्रदान करती हैं।
[[में porting|में पोर्टिंग]] प्रोग्राम के निर्माण को सुविधाजनक बनाने के लिए, प्रोग्रामिंग लैंग्वेज विभिन्न वातावरणों में उपयोग किए जाने वाले विभिन्न प्रकार के न्यूलाइन अनुक्रमों से निपटने के लिए कुछ सार प्रदान करती हैं।


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


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


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


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


कई भाषाएँ, जैसे [[C++]], [[पर्ल]],<ref>{{cite web|url=http://perldoc.perl.org/functions/binmode.html|title=binmode - perldoc.perl.org|website=perldoc.perl.org}}</ref> और [[हास्केल (प्रोग्रामिंग भाषा)]] की समान व्याख्या प्रदान करते हैं {{mono|'\n'}} C. C++ में इनपुट/आउटपुट (C++)|वैकल्पिक I/O मॉडल है जहां मैनिपुलेटर {{mono|std::endl}} नई लाइन को आउटपुट करने के लिए इस्तेमाल किया जा सकता है (और स्ट्रीम बफर को फ्लश करता है)।
कई भाषाएँ, जैसे [[C++]], [[पर्ल]],<ref>{{cite web|url=http://perldoc.perl.org/functions/binmode.html|title=binmode - perldoc.perl.org|website=perldoc.perl.org}}</ref> और [[हास्केल (प्रोग्रामिंग भाषा)]] की समान व्याख्या प्रदान करते हैं और {{mono|'\n'}} C. C++ में इनपुट/आउटपुट (C++)वैकल्पिक I/O मॉडल है जहां मैनिपुलेटर {{mono|std::endl}} नई लाइन को आउटपुट करने के लिए उपयोग किया जा सकता है (और स्ट्रीम बफर को फ्लश करता है)।


[[जावा (प्रोग्रामिंग भाषा)]], [[पीएचपी]],<ref>{{cite web|url=http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double|title=PHP: Strings - Manual|website=www.php.net}}</ref> और [[पायथन (प्रोग्रामिंग भाषा)]]<ref>{{cite web|url=https://docs.python.org/3.0/reference/lexical_analysis.html#id9|title=Lexical analysis – Python v3.0.1 documentation|website=docs.python.org}}</ref> प्रदान करना {{mono|'\r\n'}} अनुक्रम (एएससीआईआई के लिए {{mono|CR}}+{{mono|LF}}). सी के विपरीत, इन्हें मूल्यों का प्रतिनिधित्व करने की गारंटी है {{mono|U+000D}} और {{mono|U+000A}}, क्रमश।
[[जावा (प्रोग्रामिंग भाषा)]], [[पीएचपी]],<ref>{{cite web|url=http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.double|title=PHP: Strings - Manual|website=www.php.net}}</ref> और [[पायथन (प्रोग्रामिंग भाषा)]]<ref>{{cite web|url=https://docs.python.org/3.0/reference/lexical_analysis.html#id9|title=Lexical analysis – Python v3.0.1 documentation|website=docs.python.org}}</ref> प्रदान करना {{mono|'\r\n'}} अनुक्रम (एएससीआईआई के लिए {{mono|CR}}+{{mono|LF}}). सी के विपरीत, इन्हें मूल्यों का प्रतिनिधित्व करने की गारंटी है {{mono|U+000D}} और {{mono|U+000A}}, क्रमश।


जावा I/O पुस्तकालय इन्हें इनपुट या आउटपुट पर प्लेटफ़ॉर्म-निर्भर न्यूलाइन अनुक्रमों में पारदर्शी रूप से अनुवादित नहीं करते हैं। इसके बजाय, वे पूर्ण पंक्ति लिखने के लिए कार्य प्रदान करते हैं जो स्वचालित रूप से देशी न्यूलाइन अनुक्रम जोड़ते हैं, और उन पंक्तियों को पढ़ने के लिए कार्य करते हैं जो इनमें से किसी को भी स्वीकार करते हैं {{mono|CR}}, {{mono|LF}}, या {{mono|CR}}+{{mono|LF}} लाइन टर्मिनेटर के रूप में (देखें [http://download.oracle.com/javase/6/docs/api/java/io/BufferedReader.html#readLine%28%29 {{mono|BufferedReader.readLine()}}]). {{mono|[http://docs.oracle.com/javase/8/docs/api/java/lang/System.html#lineSeparator-- System.lineSeparator()]}} }} विधि का उपयोग अंतर्निहित रेखा विभाजक को पुनः प्राप्त करने के लिए किया जा सकता है।
जावा I/O पुस्तकालय इन्हें इनपुट या आउटपुट पर प्लेटफ़ॉर्म-निर्भर न्यूलाइन अनुक्रमों में पारदर्शी रूप से अनुवादित नहीं करते हैं। इसके अतिरिक्त, वे पूर्ण पंक्ति लिखने के लिए कार्य प्रदान करते हैं जो स्वचालित रूप से देशी न्यूलाइन अनुक्रम जोड़ते हैं, और उन पंक्तियों को पढ़ने के लिए कार्य करते हैं जो इनमें से किसी को भी स्वीकार करते हैं {{mono|CR}}, {{mono|LF}}, या {{mono|CR}}+{{mono|LF}} लाइन टर्मिनेटर के रूप में (देखें [http://download.oracle.com/javase/6/docs/api/java/io/BufferedReader.html#readLine%28%29 {{mono|BufferedReader.readLine()}}]). {{mono|[http://docs.oracle.com/javase/8/docs/api/java/lang/System.html#lineSeparator-- System.lineSeparator()]}} }} विधि का उपयोग अंतर्निहित रेखा विभाजक को पुनः प्राप्त करने के लिए किया जा सकता है।


उदाहरण:
उदाहरण:<syntaxhighlight lang="d">
<वाक्यविन्यास प्रकाश लैंग = जावा>
String eol = System.lineSeparator();
  स्ट्रिंग ईओएल = System.lineSeparator ();
String lineColor = "Color: Red" + eol;
  स्ट्रिंग लाइन रंग = रंग: लाल + ईओएल;
</syntaxhighlight>पढ़ने के लिए फ़ाइल खोलते समय, मॉड्यूल आयात करते समय और फ़ाइल निष्पादित करते समय पायथन यूनिवर्सल न्यूलाइन सपोर्ट की अनुमति देता है।<ref>{{cite web|url=https://www.python.org/download/releases/2.3/highlights/|title=What's new in Python 2.3}}</ref>
</वाक्यविन्यास हाइलाइट>
कुछ भाषाओं ने प्रोग्राम निष्पादन के समय न्यूलाइन की सुविधा के लिए विशेष [[चर (कंप्यूटर विज्ञान)]], स्थिरांक (कंप्यूटर प्रोग्रामिंग), और [[सबरूटीन]]्स बनाए हैं। PHP और पर्ल जैसी कुछ भाषाओं में, सभी एस्केप सीक्वेंस के लिए एस्केप प्रतिस्थापन करने के लिए [[डबल उद्धरण]] की आवश्यकता होती है, जिसमें सम्मिलित हैं {{mono|'\n'}} और {{mono|'\r'}}. PHP में, पोर्टेबिलिटी की समस्याओं से बचने के लिए, PHP_EOL स्थिरांक का उपयोग करके न्यूलाइन अनुक्रम जारी किए जाने चाहिए।<ref>{{cite web|url=http://www.php.net/manual/en/reserved.constants.php|title=PHP: Predefined Constants - Manual|website=www.php.net}}</ref>
 
सी शार्प (प्रोग्रामिंग भाषा) में उदाहरण सी#:<syntaxhighlight lang="d">
पढ़ने के लिए फ़ाइल खोलते समय, मॉड्यूल आयात करते समय और फ़ाइल निष्पादित करते समय पायथन यूनिवर्सल न्यूलाइन सपोर्ट की अनुमति देता है।<ref>{{cite web|url=https://www.python.org/download/releases/2.3/highlights/|title=What's new in Python 2.3}}</ref>
string eol = Environment.NewLine;
कुछ भाषाओं ने प्रोग्राम निष्पादन के दौरान न्यूलाइन की सुविधा के लिए विशेष [[चर (कंप्यूटर विज्ञान)]], स्थिरांक (कंप्यूटर प्रोग्रामिंग), और [[सबरूटीन]]्स बनाए हैं। PHP और पर्ल जैसी कुछ भाषाओं में, सभी एस्केप सीक्वेंस के लिए एस्केप प्रतिस्थापन करने के लिए [[डबल उद्धरण]] की आवश्यकता होती है, जिसमें शामिल हैं {{mono|'\n'}} और {{mono|'\r'}}. PHP में, पोर्टेबिलिटी की समस्याओं से बचने के लिए, PHP_EOL स्थिरांक का उपयोग करके न्यूलाइन अनुक्रम जारी किए जाने चाहिए।<ref>{{cite web|url=http://www.php.net/manual/en/reserved.constants.php|title=PHP: Predefined Constants - Manual|website=www.php.net}}</ref>
string lineColor = "Color: Red" + eol;
सी शार्प (प्रोग्रामिंग भाषा) में उदाहरण|सी#:
<वाक्यविन्यास प्रकाश लैंग = सी #>
  स्ट्रिंग ईओएल = पर्यावरण। न्यूलाइन;
  स्ट्रिंग लाइन रंग = रंग: लाल + ईओएल;
    
    
  स्ट्रिंग ईओएल2 = \n;
string eol2 = "\n";
  स्ट्रिंग लाइन रंग 2 = रंग: नीला + ईओएल 2;
string lineColor2 = "Color: Blue" + eol2;
</वाक्यविन्यास हाइलाइट>
</syntaxhighlight>


=== विभिन्न न्यूलाइन प्रारूपों के साथ मुद्दे ===
=== विभिन्न न्यूलाइन प्रारूपों के साथ उद्देश ===
[[File:Newline hex 0A.png|thumb|300px|जीएडिट के साथ बनाई गई और [[हेक्स संपादक]] के साथ देखी गई [[पाठ फ़ाइल]]। पाठ वस्तुओं के अलावा, [[हेक्साडेसिमल]] मान 0A के साथ केवल EOL मार्कर हैं।]]विभिन्न न्यूलाइन सम्मेलनों के कारण विभिन्न प्रकार की प्रणालियों के बीच स्थानांतरित की गई पाठ फ़ाइलें गलत तरीके से प्रदर्शित होती हैं।
[[File:Newline hex 0A.png|thumb|300px|जीएडिट के साथ बनाई गई और [[हेक्स संपादक]] के साथ देखी गई [[पाठ फ़ाइल]]। पाठ वस्तुओं के अतिरिक्त, [[हेक्साडेसिमल]] मान 0A के साथ केवल EOL मार्कर हैं।]]विभिन्न न्यूलाइन सम्मेलनों के कारण विभिन्न प्रकार की प्रणालियों के बीच स्थानांतरित की गई पाठ फ़ाइलें गलत विधियों से प्रदर्शित होती हैं।


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


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


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


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


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


अधिकांश टेक्स्टुअल [[इंटरनेट]] [[प्रोटोकॉल (कंप्यूटिंग)]] ([[HTTP]], [[सरल डाक स्थानांतरण प्रोटोकॉल]], [[फाइल ट्रांसफर प्रोटोकॉल]], [[इंटरनेट रिले चैट]] और कई अन्य सहित) ASCII के उपयोग को अनिवार्य करते हैं। {{mono|CR}}+{{mono|LF}} ({{mono|'\r\n'}}, {{mono|0x0D 0x0A}}) प्रोटोकॉल स्तर पर, लेकिन अनुशंसा करते हैं कि सहिष्णु अनुप्रयोग अकेले को पहचानें {{mono|LF}} ({{mono|'\n'}}, {{mono|0x0A}}) भी। निर्धारित मानक के बावजूद, कई एप्लिकेशन गलती से C (प्रोग्रामिंग लैंग्वेज) न्यूलाइन एस्केप सीक्वेंस का उपयोग करते हैं {{mono|'\n'}} ({{mono|LF}}) कैरिज रिटर्न एस्केप और न्यूलाइन एस्केप सीक्वेंस के सही संयोजन के बजाय {{mono|'\r\n'}} ({{mono|CR}}+{{mono|LF}}) (उपरोक्त प्रोग्रामिंग भाषाओं में अनुभाग देखें)। सुझाए गए सहिष्णु व्याख्या के बजाय मानकों की सख्त व्याख्या का पालन करने वाले सिस्टम के साथ संवाद करने की कोशिश करते समय गलत एस्केप सीक्वेंस का यह आकस्मिक उपयोग समस्याओं की ओर ले जाता है। ऐसी ही असहिष्णु प्रणाली है [[qmail]] [[मेल ट्रांसफर एजेंट]] जो बिना संदेश भेजने वाले सिस्टम से संदेशों को स्वीकार करने से सक्रिय रूप से मना कर देता है {{mono|LF}} आवश्यक के बजाय {{mono|CR}}+{{mono|LF}}.<ref>{{cite web|url=http://cr.yp.to/docs/smtplf.html|title=cr.yp.to}}</ref>
अधिकांश अवतरणुअल [[इंटरनेट]] [[प्रोटोकॉल (कंप्यूटिंग)]] ([[HTTP]], [[सरल डाक स्थानांतरण प्रोटोकॉल]], [[फाइल ट्रांसफर प्रोटोकॉल]], [[इंटरनेट रिले चैट]] और कई अन्य सहित) ASCII के उपयोग को अनिवार्य करते हैं। {{mono|CR}}+{{mono|LF}} ({{mono|'\r\n'}}, {{mono|0x0D 0x0A}}) प्रोटोकॉल स्तर पर, लेकिन अनुशंसा करते हैं कि सहिष्णु अनुप्रयोग अकेले को पहचानें {{mono|LF}} ({{mono|'\n'}}, {{mono|0x0A}}) भी। निर्धारित मानक के अतिरिक्त, कई एप्लिकेशन गलती से C (प्रोग्रामिंग लैंग्वेज) न्यूलाइन एस्केप सीक्वेंस का उपयोग करते हैं {{mono|'\n'}} ({{mono|LF}}) कैरिज रिटर्न एस्केप और न्यूलाइन एस्केप सीक्वेंस के सही संयोजन के अतिरिक्त {{mono|'\r\n'}} ({{mono|CR}}+{{mono|LF}}) (उपरोक्त प्रोग्रामिंग भाषाओं में अनुभाग देखें)। सुझाए गए सहिष्णु व्याख्या के अतिरिक्त मानकों की सख्त व्याख्या का पालन करने वाले प्रणाली के साथ संवाद करने की कोशिश करते समय गलत एस्केप सीक्वेंस का यह आकस्मिक उपयोग समस्याओं की ओर ले जाता है। ऐसी ही असहिष्णु प्रणाली है [[qmail]] [[मेल ट्रांसफर एजेंट]] जो बिना संदेश भेजने वाले प्रणाली से संदेशों को स्वीकार करने से सक्रिय रूप से मना कर देता है {{mono|LF}} आवश्यक के अतिरिक्त {{mono|CR}}+{{mono|LF}}.<ref>{{cite web|url=http://cr.yp.to/docs/smtplf.html|title=cr.yp.to}}</ref>
मानक इंटरनेट संदेश प्रारूप<ref>{{cite journal|title=RFC 2822 - Internet Message Format|url=https://tools.ietf.org/html/rfc2822|website=The Internet Engineering Task Force|date=April 2001|last1=Resnick|first1=Pete}}</ref> ईमेल स्टेट्स के लिए: CR और LF केवल CRLF के रूप में साथ होने चाहिए; उन्हें शरीर में स्वतंत्र रूप से प्रकट नहीं होना चाहिए।
मानक इंटरनेट संदेश प्रारूप<ref>{{cite journal|title=RFC 2822 - Internet Message Format|url=https://tools.ietf.org/html/rfc2822|website=The Internet Engineering Task Force|date=April 2001|last1=Resnick|first1=Pete}}</ref> ईमेल स्टेट्स के लिए: CR और LF केवल CRLF के रूप में साथ होने चाहिए; उन्हें शरीर में स्वतंत्र रूप से प्रकट नहीं होना चाहिए।


एएससीआईआई मोड में स्थानांतरण होने पर फाइल ट्रांसफर प्रोटोकॉल ऑपरेटिंग सिस्टम के बीच विभिन्न न्यूलाइन प्रस्तुतियों के साथ स्थानांतरित की जा रही फाइलों में नई लाइनों को स्वचालित रूप से परिवर्तित कर सकता है। हालाँकि, इस मोड में बाइनरी फ़ाइलों को स्थानांतरित करने के आमतौर पर विनाशकारी परिणाम होते हैं: न्यूलाइन बाइट अनुक्रम की कोई भी घटना - जिसमें इस संदर्भ में लाइन टर्मिनेटर शब्दार्थ नहीं है, लेकिन बाइट्स के सामान्य अनुक्रम का हिस्सा है - जो भी न्यूलाइन प्रतिनिधित्व के लिए अनुवादित किया जाएगा दूसरी प्रणाली प्रभावी रूप से डेटा भ्रष्टाचार फ़ाइल का उपयोग करती है। एफ़टीपी ग्राहक अक्सर द्विआधारी या एएससीआईआई मोड का चयन करने के लिए कुछ ह्यूरिस्टिक (कंप्यूटर विज्ञान) (उदाहरण के लिए, [[फ़ाइल नाम एक्सटेंशन]] का निरीक्षण) को नियोजित करते हैं, लेकिन अंत में यह सुनिश्चित करने के लिए उपयोगकर्ताओं पर निर्भर है कि उनकी फाइलें सही मोड में स्थानांतरित की गई हैं। यदि सही मोड के बारे में कोई संदेह है, तो बाइनरी मोड का उपयोग किया जाना चाहिए, क्योंकि तब एफ़टीपी द्वारा कोई फ़ाइल नहीं बदली जाएगी, हालांकि वे गलत तरीके से प्रदर्शित हो सकती हैं।<ref>{{cite web|url=https://www.cs.odu.edu/~zeil/cs252/s15/Public/ftp/|title=File Transfer|quote=When in doubt, transfer in binary mode.}}</ref>
एएससीआईआई प्रणाली में स्थानांतरण होने पर फाइल ट्रांसफर प्रोटोकॉल ऑपरेटिंग प्रणाली के बीच विभिन्न न्यूलाइन प्रस्तुतियों के साथ स्थानांतरित की जा रही फाइलों में नई लाइनों को स्वचालित रूप से परिवर्तित कर सकता है। चूँकि, इस प्रणाली में बाइनरी फ़ाइलों को स्थानांतरित करने के सामान्यतः विनाशकारी परिणाम होते हैं: न्यूलाइन बाइट अनुक्रम की कोई भी घटना - जिसमें इस संदर्भ में लाइन टर्मिनेटर शब्दार्थ नहीं है, लेकिन बाइट्स के सामान्य अनुक्रम का हिस्सा है - जो भी न्यूलाइन प्रतिनिधित्व के लिए अनुवादित किया जाएगा दूसरी प्रणाली प्रभावी रूप से डेटा भ्रष्टाचार फ़ाइल का उपयोग करती है। एफ़टीपी ग्राहक अधिकांश द्विआधारी या एएससीआईआई प्रणाली का चयन करने के लिए कुछ ह्यूरिस्टिक (कंप्यूटर विज्ञान) (उदाहरण के लिए, [[फ़ाइल नाम एक्सटेंशन]] का निरीक्षण) को नियोजित करते हैं, लेकिन अंत में यह सुनिश्चित करने के लिए उपयोगकर्ताओं पर निर्भर है कि उनकी फाइलें सही प्रणाली में स्थानांतरित की गई हैं। यदि सही प्रणाली के बारे में कोई संदेह है, तो बाइनरी प्रणाली का उपयोग किया जाना चाहिए, क्योंकि तब एफ़टीपी द्वारा कोई फ़ाइल नहीं बदली जाएगी, चूंकि वे गलत विधियों से प्रदर्शित हो सकती हैं।<ref>{{cite web|url=https://www.cs.odu.edu/~zeil/cs252/s15/Public/ftp/|title=File Transfer|quote=When in doubt, transfer in binary mode.}}</ref>




=== न्यूलाइन प्रारूपों के बीच रूपांतरण ===
=== न्यूलाइन प्रारूपों के बीच रूपांतरण ===
पाठ संपादकों का उपयोग अक्सर पाठ फ़ाइल को विभिन्न न्यूलाइन स्वरूपों के बीच परिवर्तित करने के लिए किया जाता है; अधिकांश आधुनिक संपादक कम से कम भिन्न ASCII का उपयोग करके फ़ाइलों को पढ़ और लिख सकते हैं {{mono|CR}}/{{mono|LF}} सम्मेलनों।
पाठ संपादकों का उपयोग अधिकांश पाठ फ़ाइल को विभिन्न न्यूलाइन स्वरूपों के बीच परिवर्तित करने के लिए किया जाता है; अधिकांश आधुनिक संपादक कम से कम भिन्न ASCII का उपयोग करके फ़ाइलों को पढ़ और लिख सकते हैं {{mono|CR}}/{{mono|LF}} सम्मेलनों।
 
उदाहरण के लिए, संपादक [[विम (पाठ संपादक)]] विंडोज नोटपैड टेक्स्ट एडिटर के साथ संगत फाइल बना सकता है। विम के भीतर
<वाक्यविन्यास प्रकाश लैंग = विम>
:सेट फ़ाइलफॉर्मेट=डॉस
:wq
</वाक्यविन्यास हाइलाइट>
बड़ी फ़ाइलों को परिवर्तित करने या कई फ़ाइलों के बल्क रूपांतरण के लिए संपादक अनुपयुक्त हो सकते हैं। बड़ी फ़ाइलों के लिए (Windows NT/2000/XP पर) निम्नलिखित कमांड का प्रयोग अक्सर किया जाता है:
<वाक्यविन्यास लैंग = डॉसकॉन>
डी:\>टाइप यूनिक्स_फाइल | ढूँढें / वी> dos_file
</वाक्यविन्यास हाइलाइट>
विभिन्न न्यूलाइन सम्मेलनों के बीच फ़ाइलों को परिवर्तित करने के लिए विशेष प्रयोजन के कार्यक्रमों में शामिल हैं unix2dos|{{mono|unix2dos}} और {{mono|dos2unix}}, {{mono|mac2unix}} और {{mono|unix2mac}}, {{mono|mac2dos}} और {{mono|dos2mac}}, और {{mono|flip}}.<ref>{{cite web |title=ASCII text conversion between UNIX, Macintosh, MS-DOS |url=http://ccrma-www.stanford.edu/~craig/utility/flip/ |archive-url=https://web.archive.org/web/20090209015201/http://ccrma-www.stanford.edu/~craig/utility/flip/ |archive-date=2009-02-09}}</ref>
{{mono|[[tr (Unix)|tr]]}}<nowiki> }} कमांड वस्तुतः हर यूनिक्स जैसी प्रणाली पर उपलब्ध है और इसका उपयोग एकल वर्णों पर मनमाने ढंग से प्रतिस्थापन संचालन करने के लिए किया जा सकता है। सभी ASCII को हटाकर DOS/Windows पाठ फ़ाइल को यूनिक्स प्रारूप में परिवर्तित किया जा सकता है </nowiki>{{mono|CR}} के साथ वर्ण
$ tr (यूनिक्स) -d '\r' <inputfile> outputfile
या, यदि पाठ में केवल है {{mono|CR}} न्यूलाइन, सभी को परिवर्तित करके {{mono|CR}} न्यूलाइन्स टू {{mono|LF}} साथ
$ tr (यूनिक्स) '\r' '\n' <inputfile> outputfile


यदि प्लेटफ़ॉर्म में पर्ल दुभाषिया है, तो वही कार्य कभी-कभी [[awk]], [[sed]], या Perl में किए जाते हैं:
उदाहरण के लिए, संपादक [[विम (पाठ संपादक)]] विंडोज नोटपैड अवतरण एडिटर के साथ संगत फाइल बना सकता है। विम के अन्दर<syntaxhighlight lang="d">
<वाक्यविन्यास लैंग = कंसोल>
:set fileformat=dos
$ awk '{उप ($, \ r \ n); printf( %s ,$0);}' inputfile > Outputfile # UNIX to DOS (Linux और BSD आधारित OS पर CRs जोड़ना जिसमें GNU एक्सटेंशन नहीं है)
:wq
$ awk '{gsub( \r , ); print;}' inputfile > Outputfile # DOS to UNIX (Linux और BSD आधारित OS पर CR को हटा रहा है जिसमें GNU एक्सटेंशन नहीं हैं)
$ sed -e 's/$/\r/' inputfile > Outputfile # UNIX to DOS (Linux आधारित OS पर CRs जोड़कर जो GNU एक्सटेंशन का उपयोग करते हैं)
$ sed -e 's/\r$//' inputfile > Outputfile # DOS to UNIX (Linux आधारित OS पर CR को हटाना जो GNU एक्सटेंशन का उपयोग करते हैं)
$ perl -pe's/\r?\n|\r/\r\n/g' inputfile > Outputfile # DOS में कनवर्ट करें
$ perl -pe's/\r?\n|\r/\n/g' inputfile > Outputfile # UNIX में कनवर्ट करें
$ perl -pe's/\r?\n|\r/\r/g' inputfile > Outputfile # पुराने मैक में कनवर्ट करें
</वाक्यविन्यास हाइलाइट> {{mono|[[File (command)|file]]}} }} कमांड लाइन के अंत के प्रकार की पहचान कर सकता है:
<वाक्यविन्यास लैंग = कंसोल>
$ फ़ाइल myfile.txt
myfile.txt: ASCII अंग्रेजी पाठ, CRLF लाइन टर्मिनेटर के साथ
</वाक्यविन्यास हाइलाइट>
यूनिक्स grep#Implementations (विस्तारित grep) कमांड का उपयोग यूनिक्स या डॉस फाइलों के फ़ाइलनामों को प्रिंट करने के लिए किया जा सकता है (केवल यूनिक्स और डॉस-शैली फ़ाइलों को मानते हुए, कोई क्लासिक मैक ओएस-शैली फ़ाइलें नहीं):
<वाक्यविन्यास लैंग = कंसोल>
$ egrep -L '\r\n' myfile.txt # UNIX स्टाइल फ़ाइल दिखाएं (LF समाप्त)
$ egrep -l '\r\n' myfile.txt # डॉस स्टाइल फ़ाइल दिखाएं (CRLF समाप्त)
</वाक्यविन्यास हाइलाइट>


अन्य उपकरण उपयोगकर्ता को ईओएल वर्णों की कल्पना करने की अनुमति देते हैं:
</syntaxhighlight>बड़ी फ़ाइलों को परिवर्तित करने या कई फ़ाइलों के बल्क रूपांतरण के लिए संपादक अनुपयुक्त हो सकते हैं। बड़ी फ़ाइलों के लिए (विंडोज NT/2000/XP पर) निम्नलिखित कमांड का प्रयोग अधिकांश किया जाता है:<syntaxhighlight lang="d">
<वाक्यविन्यास लैंग = कंसोल>
D:\>TYPE unix_file | FIND /V "" > dos_file
$ ओडी -myfile.txt
</syntaxhighlight>विभिन्न न्यूलाइन सम्मेलनों के बीच फ़ाइलों को परिवर्तित करने के लिए विशेष प्रयोजन कार्यक्रमों में unix2dos और dos2unix, mac2unix और unix2mac, mac2dos और dos2mac, और {{mono|flip}} सम्मिलित हैं।<ref>{{cite web |title=ASCII text conversion between UNIX, Macintosh, MS-DOS |url=http://ccrma-www.stanford.edu/~craig/utility/flip/ |archive-url=https://web.archive.org/web/20090209015201/http://ccrma-www.stanford.edu/~craig/utility/flip/ |archive-date=2009-02-09}}</ref> {{mono|[[tr (Unix)|tr]]}}<nowiki> }} कमांड वस्तुतः हर यूनिक्स जैसी प्रणाली पर उपलब्ध है और इसका उपयोग एकल वर्णों पर स्वैच्छिक प्रतिस्थापन संचालन करने के लिए किया जा सकता है। एक DOS/विंडोज पाठ फ़ाइल को सभी ASCII CR वर्णों को हटाकर यूनिक्स प्रारूप में परिवर्तित किया जा सकता है</nowiki><syntaxhighlight lang="d">
$ कैट -myfile.txt
$ tr -d '\r' < inputfile > outputfile
$ बिल्ली -v myfile.txt
</syntaxhighlight>या, यदि पाठ में केवल है {{mono|CR}} न्यूलाइन, सभी को परिवर्तित करके {{mono|CR}} न्यूलाइन्स टू {{mono|LF}} साथ<syntaxhighlight lang="d">
$ हेक्सडंप -c myfile.txt
$ tr '\r' '\n' < inputfile > outputfile
</वाक्यविन्यास हाइलाइट>
</syntaxhighlight>यदि प्लेटफ़ॉर्म में पर्ल दुभाषिया है, तो वही कार्य कभी-कभी [[awk]], [[sed]], या Perl में किए जाते हैं:<syntaxhighlight lang="d">
$ awk '{sub("$","\r\n"); printf("%s",$0);}' inputfile > outputfile  # UNIX to DOS  (adding CRs on Linux and BSD based OS that haven't GNU extensions)
$ awk '{gsub("\r",""); print;}' inputfile > outputfile              # DOS to UNIX  (removing CRs on Linux and BSD based OS that haven't GNU extensions)
$ sed -e 's/$/\r/' inputfile > outputfile              # UNIX to DOS  (adding CRs on Linux based OS that use GNU extensions)
$ sed -e 's/\r$//' inputfile > outputfile              # DOS  to UNIX (removing CRs on Linux based OS that use GNU extensions)
$ perl -pe 's/\r?\n|\r/\r\n/g' inputfile > outputfile  # Convert to DOS
$ perl -pe 's/\r?\n|\r/\n/g'  inputfile > outputfile  # Convert to UNIX
$ perl -pe 's/\r?\n|\r/\r/g'  inputfile > outputfile  # Convert to old Mac
</syntaxhighlight>{{mono|[[File (command)|file]]}}<nowiki> }} कमांड लाइन के अंत के प्रकार की पहचान कर सकता है:</nowiki><syntaxhighlight lang="d">
$ file myfile.txt
myfile.txt: ASCII English text, with CRLF line terminators
</syntaxhighlight>यूनिक्स grep#Implementations (विस्तारित ग्रेप) कमांड का उपयोग यूनिक्स या डॉस फाइलों के फ़ाइलनामों को प्रिंट करने के लिए किया जा सकता है (केवल यूनिक्स और डॉस-शैली फ़ाइलों को मानते हुए, कोई क्लासिक मैक ओएस-शैली फ़ाइलें नहीं):<syntaxhighlight lang="d">
$ egrep -L '\r\n' myfile.txt # show UNIX style file (LF terminated)
$ egrep -l '\r\n' myfile.txt # show DOS style file (CRLF terminated)
</syntaxhighlight>अन्य उपकरण उपयोगकर्ता को ईओएल वर्णों की कल्पना करने की अनुमति देते हैं:<syntaxhighlight lang="d">
$ od -a myfile.txt
$ cat -e myfile.txt
$ cat -v myfile.txt
$ hexdump -c myfile.txt
</syntaxhighlight>


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


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


== उल्टा और आंशिक लाइन फ़ीड्स ==
== उल्टा और आंशिक लाइन फ़ीड्स ==


{{mono|RI}}, (यूनिकोड+008डी रिवर्स लाइन फीड,<ref>{{cite web|url=https://www.unicode.org/charts/PDF/U0080.pdf|title=C1 Controls and Latin-1 Supplement|website=unicode.org|access-date=13 February 2016}}</ref> ISO/IEC 6429 8D, दशमलव 141) का उपयोग मुद्रण स्थिति को पंक्ति पीछे ले जाने के लिए किया जाता है (कागज को उल्टा करके, या डिस्प्ले कर्सर को पंक्ति ऊपर ले जाकर) ताकि अन्य वर्ण मौजूदा पाठ पर मुद्रित किए जा सकें। यह उन्हें बोल्डर बनाने के लिए किया जा सकता है, या अंडरलाइन, स्ट्राइक-थ्रू या अन्य वर्ण जैसे [[विशेषक]] जोड़ने के लिए किया जा सकता है।
{{mono|RI}}, (यूनिकोड+008डी रिवर्स लाइन फीड,<ref>{{cite web|url=https://www.unicode.org/charts/PDF/U0080.pdf|title=C1 Controls and Latin-1 Supplement|website=unicode.org|access-date=13 February 2016}}</ref> ISO/IEC 6429 8D, दशमलव 141) का उपयोग मुद्रण स्थिति को पंक्ति पीछे ले जाने के लिए किया जाता है (कागज को उल्टा करके, या डिस्प्ले कर्सर को पंक्ति ऊपर ले जाकर) जिससे अन्य वर्ण वर्तमान पाठ पर मुद्रित किए जा सकें। यह उन्हें बोल्डर बनाने के लिए किया जा सकता है, या अंडरलाइन, स्ट्राइक-थ्रू या अन्य वर्ण जैसे [[विशेषक]] जोड़ने के लिए किया जा सकता है।


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


== यह भी देखें ==
== यह भी देखें ==
Line 231: Line 215:
*[[पृष्ठ ब्रेक]]
*[[पृष्ठ ब्रेक]]
*कैरिज रिटर्न
*कैरिज रिटर्न
*[[कुंजी दर्ज करें]]
*[[कुंजी दर्ज करें|कुंजी अंकित करें]]


== संदर्भ ==
== संदर्भ ==
Line 243: Line 227:
*{{webarchive|url=https://web.archive.org/web/20060820133536/http://onlamp.com/pub/a/onlamp/2006/08/17/understanding-newlines.html|title=Understanding Newlines|date=20 August 2006}}
*{{webarchive|url=https://web.archive.org/web/20060820133536/http://onlamp.com/pub/a/onlamp/2006/08/17/understanding-newlines.html|title=Understanding Newlines|date=20 August 2006}}
*[https://www.rfc-editor.org/old/EOLstory.txt "The End-of-Line Story"]
*[https://www.rfc-editor.org/old/EOLstory.txt "The End-of-Line Story"]
[[Category: नियंत्रण वर्ण]] [[Category: श्वेत रिक्ति]]


[[Category: Machine Translated Page]]
[[Category:All articles with unsourced statements]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Articles with unsourced statements from October 2011]]
[[Category:CS1 English-language sources (en)]]
[[Category:CS1 errors]]
[[Category:Created On 06/02/2023]]
[[Category:Created On 06/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Missing redirects]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Webarchive template wayback links]]
[[Category:नियंत्रण वर्ण]]
[[Category:श्वेत रिक्ति]]

Latest revision as of 11:45, 14 March 2023

हैलो और वर्ल्ड शब्दों के बीच नई लाइन डाली गई है

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


इतिहास

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

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

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

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

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

प्रतिनिधित्व

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

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

सॉफ़्टवेयर एप्लिकेशन और ऑपरेटिंग सिस्टम एक या दो नियंत्रण वर्णों के साथ एक नई पंक्ति का प्रतिनिधित्व करते हैं
प्रचालन तंत्र अक्षरों को सांकेतिक अक्षरों में बदलना शब्द-संक्षेप हेक्स मान डेक मान बचने का क्रम
यूनिक्स और यूनिक्स जैसी प्रणालियाँ (लिनक्स, माकोस, फ्रीबीएसडी, ऐक्स, ज़ेनिक्स, आदि.), मल्टिक्स, बीओएस, अमिगा, आरआईएससी ओएस, और अन्य[5] ASCII LF 0A 10 \n
माइक्रोसॉफ्ट विंडोज, डॉस (एमएस-डॉस, पीसी डॉस, आदि), अटारी टीओएस, डेक टॉप्स-10, RT-11, CP/M, MP/M, OS/2, सिम्बियन ओएस, पाम ओएस, एमस्ट्राड सीपीसी, और अधिकांश अन्य प्रारम्भिक गैर-यूनिक्स और गैर-आईबीएम प्रचालन प्रणाली CR LF 0D 0A 13 10 \r\n
कप्रणालीोर 8-बिट मशीन (C64, C128), एकॉर्न बीबीसी, जेडएक्स स्पेक्ट्रम, टीआरएस-80, एप्पल द्वितीय श्रृंखला, ओबेरोन, क्लासिक मैक ओएस, एमआईटी लिस्प मशीन और ओएस-9 CR 0D 13 \r
क्यूएनएक्स पूर्व-पोसिक्स कार्यान्वयन (संस्करण <4) RS 1E 30 \036
एकोर्न बीबीसी[6] और आरआईएससी ओएस ने अवतरण आउटपुट स्पूल किया[7] LF CR 0A 0D 10 13 \n\r
अटारी 8-बिट मशीनें ATASCII 9B 155
आईबीएम मेनफ्रेम सिस्टम, z/OS (OS/390) and आईबीएम आई (OS/400) सहित ईबीसीडीआईसी NL 15 21 \025
जेडएक्स80 and जेडएक्स81 (सिनक्लेयर रिसर्च लिमिटेड से घरेलू कंप्यूटर) एक विशिष्ट गैर-ASCII वर्ण सेट का उपयोग किया न्यूलाइन 76 118
  • ईबीसीडीआईसी प्रणाली- मुख्य रूप से आईबीएम मेनफ्रेम प्रणाली, जिसमें z/OS (OS/390) और आईबीएम आई (OS/400) सम्मिलित हैं- NL (नई पंक्ति, 0x15)[8] का उपयोग लाइन फीड और कैरिज रिटर्न के कार्यों के संयोजन वाले वर्ण के रूप में करते है। समतुल्य यूनिकोड वर्ण (0x85) को NEL (अगली पंक्ति) कहा जाता है। ईबीसीडीआईसी में CR और LF नामक नियंत्रण वर्ण भी कहा जाता है, लेकिन LF (0x25) का संख्यात्मक मान ASCII (0x0A) द्वारा उपयोग किए गए से भिन्न है। इसके अतिरिक्त, कुछ ईबीसीडीआईसी वैरिएंट भी NL का उपयोग करते हैं लेकिन वर्ण को अलग संख्यात्मक कोड असाइन करें। चूँकि, वे ऑपरेटिंग प्रणाली रिकॉर्ड-उन्मुख फ़ाइल प्रणाली प्रणाली का उपयोग करते हैं, जो पाठ फ़ाइलों को प्रति पंक्ति रिकॉर्ड के रूप में संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं।
  • सीडीसी 6000 श्रृंखला के लिए ऑपरेटिंग प्रणाली ने 60-बिट शब्द के अंत में दो या दो से अधिक शून्य-मूल्य वाले छह-बिट वर्णों के रूप में नई पंक्ति को परिभाषित किया गया था। कुछ विन्यासों ने शून्य-मूल्यवान वर्ण को बृहदान्त्र (विराम चिह्न) वर्ण के रूप में भी परिभाषित किया, जिसके परिणामस्वरूप स्थिति के आधार पर कई कॉलनों को नई पंक्ति के रूप में व्याख्या किया जा सकता है।
  • RSX-11 और ओपनवीएमएस भी रिकॉर्ड-आधारित फ़ाइल प्रणाली का उपयोग करते हैं, जो प्रति पंक्ति रिकॉर्ड के रूप में पाठ फ़ाइलों को संग्रहीत करता है। अधिकांश फ़ाइल स्वरूपों में, कोई लाइन टर्मिनेटर वास्तव में संग्रहीत नहीं होते हैं, लेकिन रिकॉर्ड प्रबंधन सेवा सुविधा पारदर्शी रूप से प्रत्येक पंक्ति में टर्मिनेटर जोड़ सकती है, जब इसे किसी एप्लिकेशन द्वारा पुनर्प्राप्त किया जाता है। रिकॉर्ड में स्वयं समान लाइन टर्मिनेटर वर्ण हो सकते हैं, जिन्हें या तो विशेषता या उपद्रव माना जा सकता है जो कि आवेदन पर निर्भर करता है। RMS न केवल रिकॉर्ड संग्रहीत करता है, किन्तु फ़ाइल के लिए अलग-अलग बिट्स में रिकॉर्ड विभाजक के बारे में मेटाडेटा भी संग्रहीत करता है, जिससे स्थितियों और भी जटिल हो जाते हैं (चूंकि फ़ाइलों में निश्चित लंबाई के रिकॉर्ड हो सकते हैं, ऐसे रिकॉर्ड जो गिनती या रिकॉर्ड द्वारा समाप्त होते हैं जो विशिष्ट वर्ण द्वारा समाप्त होते हैं ). बिट्स सामान्य नहीं हैं, इसलिए जब वे इसे निर्दिष्ट कर सकते हैं CRLF या LF या और भी CR लाइन टर्मिनेटर है, वे किसी अन्य कोड को स्थानापन्न नहीं कर सकते।
  • फिक्स्ड लाइन लेंथ का उपयोग कुछ प्रारंभिकी मेनफ़्रेम कंप्यूटर ऑपरेटिंग प्रणाली द्वारा किया जाता था। ऐसी प्रणाली में, उदाहरण के लिए, प्रत्येक 72 या 80 वर्णों में निहित अंत-पंक्ति मान ली गई थी। कोई न्यूलाइन वर्ण संग्रहीत नहीं किया गया था। यदि कोई फ़ाइल बाहरी संसार से आयात की गई थी, तो लाइन की लंबाई से छोटी लाइनों को रिक्त स्थान के साथ पैडेड करना पड़ता था, चूंकि लाइन की लंबाई से अधिक लंबी लाइनों को छोटा करना पड़ता था। इसने छिद्रित कार्डों के उपयोग की नकल की, जिस पर प्रत्येक पंक्ति को अलग कार्ड पर संग्रहीत किया गया था, सामान्यतः प्रत्येक कार्ड पर 80 कॉलम के साथ, अधिकांश कॉलम 73-80 में अनुक्रम संख्या के साथ। इनमें से कई प्रणालियों ने अगले रिकॉर्ड की प्रारंभ में एएसए कैरिज नियंत्रण वर्ण जोड़े; यह निरुपित कर सकता है कि क्या अगला रिकॉर्ड पिछले रिकॉर्ड, या नई लाइन द्वारा प्रारंभ की गई लाइन की निरंतरता थी, या पिछली पंक्ति को ओवरप्रिंट करना चाहिए (के समान) CR). अधिकांश यह सामान्य मुद्रण वर्ण होता था जैसे # इस प्रकार पंक्ति में पहले वर्ण के रूप में उपयोग नहीं किया जा सकता था। कुछ प्रारंभी लाइन प्रिंटरों ने इन वर्णों की सीधे उन्हें भेजे गए रिकॉर्ड में व्याख्या की।

यूनिकोड

यूनिकोड मानक कई वर्णों को परिभाषित करता है जो अनुरूप अनुप्रयोगों को लाइन टर्मिनेटर के रूप में पहचानना चाहिए:[9]

 LF:    रेखा भरण, U+000A
 VT:    वर्टिकल टैब, U+000B
 FF:    फ़ीड बनाएं, U+000C
 CR:    कैरिज रिटर्न, U+000D
 CR+LF: CR (U+000D) के बाद LF (U+000A)
 NEL:   अगली पंक्ति, U+0085
 LS:    रेखा विभाजक, U+2028
 PS:    अनुच्छेद विभाजक, U+2029

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

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

से अधिक न्यूलाइन कोड को पहचानना और उपयोग करना 0x7F (NEL, LS और PS) अधिकांश नहीं किया जाता है। वे यूटीएफ-8 -8 में कई बाइट हैं, और कोड के लिए NEL दीर्घवृत्त के रूप में उपयोग किया गया है () विंडोज-1252 में वर्ण। उदाहरण के लिए:

  • ईसीएमएस्क्रिप्ट स्वीकार करता है LS और PS लाइन-ब्रेक के रूप में,[13] लेकिन मानता है U+0085 (NEL) लाइन-ब्रेक के अतिरिक्त व्हाइटस्पेस वर्ण[14]
  • विंडोज 10 इनमें से किसी का भी इलाज NEL, LS, या PS अपने डिफ़ॉल्ट अवतरण एडिटर, माइक्रोसॉफ्ट नोटपैड में लाइन-ब्रेक के रूप में नहीं करता है।
  • जीएडिट, जनोमे डेस्कटॉप वातावरण का डिफ़ॉल्ट पाठ संपादक, ट्रीट करता है LS और PS न्यूलाइन NEL के रूप में लेकिन के लिए नहीं है।
  • जेएसओएन[15] अनुमति देता है LS और PS तार के अन्दर वर्ण, चूंकि एकमास्क्रिप्ट से पहले ES2019[16][17] उन्हें न्यूलाइन्स और इसलिए अवैध सिंटैक्स के रूप में माना।[18]
  • वाईएएमएल[19] JSON के साथ संगत होने के लिए अब उन्हें संस्करण 1.2 के रूप में विशेष के रूप में नहीं पहचानता है।

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

प्रोग्रामिंग भाषाओं में

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

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

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

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

उदाहरण:

 String eol = System.lineSeparator();
 String lineColor = "Color: Red" + eol;

पढ़ने के लिए फ़ाइल खोलते समय, मॉड्यूल आयात करते समय और फ़ाइल निष्पादित करते समय पायथन यूनिवर्सल न्यूलाइन सपोर्ट की अनुमति देता है।[23]

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

सी शार्प (प्रोग्रामिंग भाषा) में उदाहरण सी#:

string eol = Environment.NewLine;
string lineColor = "Color: Red" + eol;
   
string eol2 = "\n";
string lineColor2 = "Color: Blue" + eol2;

विभिन्न न्यूलाइन प्रारूपों के साथ उद्देश

जीएडिट के साथ बनाई गई और हेक्स संपादक के साथ देखी गई पाठ फ़ाइल। पाठ वस्तुओं के अतिरिक्त, हेक्साडेसिमल मान 0A के साथ केवल EOL मार्कर हैं।

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

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

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

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

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

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

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

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


न्यूलाइन प्रारूपों के बीच रूपांतरण

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

उदाहरण के लिए, संपादक विम (पाठ संपादक) विंडोज नोटपैड अवतरण एडिटर के साथ संगत फाइल बना सकता है। विम के अन्दर

:set fileformat=dos
:wq

बड़ी फ़ाइलों को परिवर्तित करने या कई फ़ाइलों के बल्क रूपांतरण के लिए संपादक अनुपयुक्त हो सकते हैं। बड़ी फ़ाइलों के लिए (विंडोज NT/2000/XP पर) निम्नलिखित कमांड का प्रयोग अधिकांश किया जाता है:

D:\>TYPE unix_file | FIND /V "" > dos_file

विभिन्न न्यूलाइन सम्मेलनों के बीच फ़ाइलों को परिवर्तित करने के लिए विशेष प्रयोजन कार्यक्रमों में unix2dos और dos2unix, mac2unix और unix2mac, mac2dos और dos2mac, और flip सम्मिलित हैं।[28] tr }} कमांड वस्तुतः हर यूनिक्स जैसी प्रणाली पर उपलब्ध है और इसका उपयोग एकल वर्णों पर स्वैच्छिक प्रतिस्थापन संचालन करने के लिए किया जा सकता है। एक DOS/विंडोज पाठ फ़ाइल को सभी ASCII CR वर्णों को हटाकर यूनिक्स प्रारूप में परिवर्तित किया जा सकता है

$ tr -d '\r' < inputfile > outputfile

या, यदि पाठ में केवल है CR न्यूलाइन, सभी को परिवर्तित करके CR न्यूलाइन्स टू LF साथ

$ tr '\r' '\n' < inputfile > outputfile

यदि प्लेटफ़ॉर्म में पर्ल दुभाषिया है, तो वही कार्य कभी-कभी awk, sed, या Perl में किए जाते हैं:

$ awk '{sub("$","\r\n"); printf("%s",$0);}' inputfile > outputfile  # UNIX to DOS  (adding CRs on Linux and BSD based OS that haven't GNU extensions)
$ awk '{gsub("\r",""); print;}' inputfile > outputfile              # DOS to UNIX  (removing CRs on Linux and BSD based OS that haven't GNU extensions)
$ sed -e 's/$/\r/' inputfile > outputfile              # UNIX to DOS  (adding CRs on Linux based OS that use GNU extensions)
$ sed -e 's/\r$//' inputfile > outputfile              # DOS  to UNIX (removing CRs on Linux based OS that use GNU extensions)
$ perl -pe 's/\r?\n|\r/\r\n/g' inputfile > outputfile  # Convert to DOS
$ perl -pe 's/\r?\n|\r/\n/g'   inputfile > outputfile  # Convert to UNIX
$ perl -pe 's/\r?\n|\r/\r/g'   inputfile > outputfile  # Convert to old Mac

file }} कमांड लाइन के अंत के प्रकार की पहचान कर सकता है:

 $ file myfile.txt
 myfile.txt: ASCII English text, with CRLF line terminators

यूनिक्स grep#Implementations (विस्तारित ग्रेप) कमांड का उपयोग यूनिक्स या डॉस फाइलों के फ़ाइलनामों को प्रिंट करने के लिए किया जा सकता है (केवल यूनिक्स और डॉस-शैली फ़ाइलों को मानते हुए, कोई क्लासिक मैक ओएस-शैली फ़ाइलें नहीं):

$ egrep -L '\r\n' myfile.txt # show UNIX style file (LF terminated)
$ egrep -l '\r\n' myfile.txt # show DOS style file (CRLF terminated)

अन्य उपकरण उपयोगकर्ता को ईओएल वर्णों की कल्पना करने की अनुमति देते हैं:

$ od -a myfile.txt
$ cat -e myfile.txt
$ cat -v myfile.txt
$ hexdump -c myfile.txt

व्याख्या

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

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

उल्टा और आंशिक लाइन फ़ीड्स

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

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

यह भी देखें

संदर्भ

  1. "What is a Newline?". www.computerhope.com (in English). Retrieved 2021-05-10.
  2. Qualline, Steve (2001). Vi Improved - Vim (PDF). Sams Publishing. p. 120. ISBN 9780735710016. Archived from the original (PDF) on 8 April 2022. Retrieved 4 January 2023.
  3. Duckett, Chris. "Windows Notepad finally understands everyone else's end of line characters" (in English). ZDNet. Archived from the original on 13 May 2018. Retrieved 4 January 2023. [A]fter decades of frustration, and having to download a real text editor to change a single line in a config file from a Linux box, Microsoft has updated Notepad to be able to handle end of line characters used in Unix, Linux, and macOS environments.
  4. Lopez, Michel (8 May 2018). "Introducing extended line endings support in Notepad". Windows Command Line (in English). Archived from the original on 6 April 2019. Retrieved 4 January 2023. As with any change to a long-established tool, there's a chance that this new behavior may not work for your scenarios, or you may prefer to disable this new behavior and return to Notepad's original behavior. To do this, you can change [...registry keys...] to tweak how Notepad handles pasting of text, and which EOL character to use when Enter/Return is hit
  5. "ASCII Chart".
  6. Bray, Andrew C.; Dickens, Adrian C.; Holmes, Mark A. (1983). The Advanced User Guide for the BBC Microcomputer (PDF). pp. 103, 104. ISBN 978-0946827008. Retrieved 30 January 2019.
  7. "RISC OS 3 Programmers' Reference Manual". Retrieved 18 July 2018.
  8. IBM System/360 Reference Data Card, Publication GX20-1703, IBM Data Processing Division, White Plains, NY
  9. "UAX #14: Unicode Line Breaking Algorithm". www.unicode.org.
  10. "C1 Control Character Set of ISO 6429" (PDF). ITSCJ. IPSJ. 1 October 1983. Retrieved 3 March 2022.
  11. Control Functions for Coded Character Sets (PDF) (Report). ECMA International. June 1991.
  12. Character Code Structure and Extension Techniques (PDF) (Report) (6th ed.). ECMA International. December 1994.
  13. "ECMAScript 2019 Language Specification". ECMA International. June 2019. 11.3 Line Terminators.
  14. "ECMAScript 2019 Language Specification". ECMA International. June 2019. 11.2 White Space.
  15. Bray, Tim (March 2014). "The JavaScript Object Notation (JSON) Data Interchange Format". 7. Strings. RFC 7159. {{cite journal}}: Cite journal requires |journal= (help)
  16. "Subsume JSON (a.k.a. JSON ⊂ ECMAScript)". GitHub. 22 May 2018.
  17. "ECMAScript 2019 Language Specification". ECMA International. June 2019. 11.8.4 String Literals.
  18. "ECMAScript 2018 Language Specification". ECMA International. June 2018. 11.8.4 String Literals.
  19. "YAML Ain't Markup Language (YAML) Version 1.2". yaml.org. 5.4. Line Break Characters.
  20. "binmode - perldoc.perl.org". perldoc.perl.org.
  21. "PHP: Strings - Manual". www.php.net.
  22. "Lexical analysis – Python v3.0.1 documentation". docs.python.org.
  23. "What's new in Python 2.3".
  24. "PHP: Predefined Constants - Manual". www.php.net.
  25. "cr.yp.to".
  26. Resnick, Pete (April 2001). "RFC 2822 - Internet Message Format". The Internet Engineering Task Force.
  27. "File Transfer". When in doubt, transfer in binary mode.
  28. "ASCII text conversion between UNIX, Macintosh, MS-DOS". Archived from the original on 2009-02-09.
  29. "C1 Controls and Latin-1 Supplement" (PDF). unicode.org. Retrieved 13 February 2016.


बाहरी संबंध