विंडोज के तहत उत्पन्न पाठ फ़ाइलों की प्रत्येक पंक्ति के अंत में `^ M`


10

मैं सोच रहा था कि यदि आप यूनिक्स के तहत विंडोज नोटपैड में बना एक टेक्स्टफाइल खोलते हैं, तो आप पाएंगे कि इसमें ^Mएक नई पंक्ति होनी चाहिए?

मेरी समझ यह है कि विंडोज में, प्रत्येक पंक्ति के साथ समाप्त होता है \r\n, अर्थात 0x0D0Aएएससीआईआई में, जबकि ^Mएएससीआईआई मूल्य है 0x5E4D। मैं इन दोनों को एक से दूसरे में नहीं जोड़ सकता।


विंडोज में आप नोटपैड ++ जैसे बेहतर संपादक का उपयोग कर सकते हैं। यह आपको UNIX लाइन एंडिंग वाली फाइलों को सहेजने की अनुमति देगा, लेकिन इसे विंडोज में ऐसे देखें जैसे कि इसमें विंडोज लाइन एंडिंग्स हों। फिर आप इसे दोनों OS में देख सकते हैं।
केविन

जवाबों:


19

आप पंक्ति के अंत के महत्वपूर्ण होने के बारे में सही हैं; दोनों OSs लाइन को "\ n" से समाप्त होने की उम्मीद करते हैं, लेकिन विंडोज इससे पहले एक "\ r" भी जोड़ता है कि यूनिक्स उम्मीद नहीं करता है, इसलिए यूनिक्स प्रोग्राम अपने तरीके से "\ r" आउटपुट करेंगे।

फ़ाइल वास्तव में दो वर्णों "^" और "M" के साथ समाप्त नहीं होती है, यह सिर्फ अनपेक्षित वर्णों का प्रतिनिधित्व करने का एक सामान्य तरीका है। कार्यक्रम "^" का उत्पादन करेगा और बाइट के मूल्य के अनुरूप एक पत्र, ए के साथ शुरू होने वाला 1. एम 13 वां अक्षर है, और '\ r' ASCII कोड 13 (या 0xD, जैसा आपने कहा था) है, इसलिए आप देखें "^ म"


2
वह भी Ctrl-M के लिए शॉर्ट-हैंड है, जो कि आप कीबोर्ड के साथ उस चरित्र को कैसे प्राप्त करते हैं।
स्टीवन प्रिचर्ड

7
आप कमांड लाइन उपयोगिताओं dos2unixऔर unix2dosप्रारूपों के बीच पाठ फ़ाइलों को परिवर्तित करने के लिए उपयोग कर सकते हैं ।
क्रिस नवा

1
@Chris यह सच है, लेकिन वास्तव में सवाल से कोई लेना देना नहीं है
माइकल Mrozek

धन्यवाद! (१) मैं सोच रहा था कि इस तरह से कौन से प्रोग्राम अनपेक्षित वर्णों का उत्पादन करेंगे? उदाहरण के लिए, क्या सभी पाठ संपादक / दर्शक इस तरह से काम करते हैं? (२) किस तरह के अचूक चरित्रों के साथ ऐसा व्यवहार किया जाता है, और किस प्रकार के नहीं हैं? उदाहरण के लिए, क्यों पाठ नहीं है दर्शकों उत्पादन ^Jके लिए \n?
टिम

1
^ M प्रतिनिधित्व दशकों से GUI पाठ संपादकों को दर्शाता है, यदि दशकों तक नहीं।
क्रिस नावा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.