मैं बस उन याद नहीं कर सकते। तो, पुराने ढंग के ASCII लाइनों को ठीक से समाप्त करने का सही तरीका क्या है?
मैं बस उन याद नहीं कर सकते। तो, पुराने ढंग के ASCII लाइनों को ठीक से समाप्त करने का सही तरीका क्या है?
जवाबों:
मैं याद करने के लिए ' r etur n ' शब्द का उपयोग करता हूँ , r n से पहले आता है।
\n\r
और \r\n
क्या ये समान प्रभाव नहीं डालते? क्या आप मुझे अंतर बता सकते हैं?
यदि आप C # का उपयोग कर रहे हैं Environment.NewLine
, तो आपको इसका उपयोग करना चाहिए , जो MSDN के अनुसार है:
गैर-यूनिक्स प्लेटफार्मों के लिए "\ r \ n" स्ट्रिंग, या यूनिक्स प्लेटफार्मों के लिए "\ n" युक्त स्ट्रिंग।
Environment.NewLine
तो ठीक है। हालाँकि, यदि आप अच्छी तरह से परिभाषित प्रारूप में चीजें लिख रहे हैं, तो प्रारूप नई पंक्ति को भी परिभाषित कर सकता है। उदाहरण के लिए, HTTP प्रोटोकॉल बताता है कि आपको प्लेटफॉर्म की परवाह किए बिना हेडर आदि के लिए लाइन टर्मिनेटर के रूप में उपयोग करना चाहिए\r\n
।
नई लाइन आपके OS पर निर्भर करती है:
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
अधिक विवरण यहां: https://ccrma.stanford.edu/~craig/utility/flip/
जब संदेह हो, तो किसी भी फ्रीवेयर हेक्स दर्शक / संपादक का उपयोग करके देखें कि कोई फ़ाइल अपनी नई लाइन को कैसे एनकोड करती है।
मेरे लिए, मुझे याद रखने में मदद के लिए मैं निम्नलिखित गाइड का उपयोग करता हूं: 0D0A = \ r \ n = CR, LF = ca rr iage r eturn, li n e feed
0D0A
दिल से जानते हैं , लेकिन फिर भी भ्रमित करते हैं \r
और \n
।
अनुक्रम सीआर (कैरिज रिटर्न) - एलएफ (लाइन फीड) है। डॉट मैट्रिक्स प्रिंटर याद रखें? बिल्कुल सही। तो - सही क्रम \ r \ n है
किसी भी .NET लैंग्वेज में, Environment.NewLine
बेहतर होगा।
मैन्युअल रूप से ऐसा करने से सावधान रहें।
वास्तव में मैं ऐसा नहीं करने की सलाह दूंगा ।
वास्तव में हम लाइन टर्मिनेशन सीक्वेंस एलटीएस के बारे में बात कर रहे हैं जो प्लेटफॉर्म के लिए विशिष्ट है।
यदि आप टेक्स्ट मोड में फ़ाइल खोलते हैं (अर्थात बाइनरी नहीं) तो स्ट्रीम आपके प्लेटफॉर्म के लिए "\ n" को सही LTS में बदल देगी। जब आप फ़ाइल पढ़ते हैं तो LTS को वापस "\ n" में बदल दें।
परिणामस्वरूप यदि आप "\ r \ n" विंडो फ़ाइल में प्रिंट करते हैं, तो आपको भौतिक फ़ाइल में अनुक्रम "\ r \ r \ n" मिलेगा (एक हेक्स संपादक के साथ एक नज़र रखना)।
बेशक यह असली दर्द है जब प्लेटफार्मों के बीच फ़ाइलों को स्थानांतरित करने की बात आती है।
अब अगर आप किसी नेटवर्क स्ट्रीम को लिख रहे हैं तो मैं इसे मैन्युअल रूप से करूँगा (क्योंकि अधिकांश नेटवर्क प्रोटोकॉल इसे विशेष रूप से कहते हैं)। लेकिन मुझे यकीन है कि धारा कोई व्याख्या नहीं कर रही है (इसलिए बाइनरी मोड उपयुक्त थे)।
\r\n
विंडोज के लिए बस ठीक है।
\n
नोटपैड के लेटेस्ट वर्जन सहित, विंडोज़ पर भी सिंगल ही ठीक रहता है।
से विकिपीडिया (आप पढ़ सकते हैं जो उस लेख पर अपने ओएस के लिए सही है):
ASCII या एक संगत वर्ण सेट पर आधारित सिस्टम LF (लाइन फीड, '\ n', 0x0A, 10 दशमलव में) या CR (कैरिज रिटर्न, '\ r', 0x0D, 13 दशमलव में 13) व्यक्तिगत रूप से या CR द्वारा उपयोग किया जाता है। LF (CR + LF, '\ r \ n', 0x0D0A)।
\r\n
अजीब कहने के लिए मैं इसे याद करता हूं क्योंकि यह मेरे द्वारा उपयोग किए जाने वाले टाइपराइटर के विपरीत है ।
खैर अगर यह सामान्य था तो मुझे इसे याद रखने की कोई आवश्यकता नहीं थी ...:-)
टाइपराइटर में जब आप गाड़ी को रिटर्न लीवर का उपयोग करने के लिए लाइन को अंजाम देते हैं , तो इससे पहले कि आप ड्रम को रोल करें, नई लाइन , और आपको मैन्युअल रूप से गाड़ी वापसी का संचालन करने की अनुमति दें ।
आप इस रिकॉर्ड को freesound.org से सुन सकते हैं । शुरुआत में पेपर फीडिंग की आवाज़, और अंत से लगभग -1: 03 सेकंड पर, ड्रम की लाइन साउंड के अंत के लिए घंटी की चेतावनी के बाद जो रोल करता है और उसके बाद गाड़ी में से एक वापसी।