एक ही फ़ाइल, अलग फ़ाइल आकार


12

मैंने अपने FTP सर्वर से lftp और Transmit (Mac app) से बैकअप बनाया। सब कुछ ठीक है, लेकिन 1-2 फ़ाइलों के लिए फ़ाइल आकार में एक अलग है, लेकिन वे समान हैं।

पहली फ़ाइल:

http://dl.dropbox.com/u/229956/deadcow_seo.php

दूसरी फ़ाइल:

http://dl.dropbox.com/u/229956/deadcow_seo.php_2.php

इन दोनों फाइलों में क्या अंतर है?


क्या आप सुनिश्चित हैं कि समस्या केवल रिपोर्ट किए गए आकार की नहीं थी ? Apple ने कुछ साल पहले मैक ओएस एक्स की स्टोरेज स्पेस को उस तरीके से स्विच किया, जो उस तरीके से मेल खाता है जो हार्ड ड्राइव का उपयोग करता है। 1MB = 1024KB के बजाय, वे 1MB = 1000KB का उपयोग करते हैं। अन्य आकार का आपके लिनक्स होस्ट द्वारा अन्य कार्यप्रणाली का उपयोग करके रिपोर्ट किया जा सकता है ताकि फाइलें अलग-अलग आकार की दिखाई दें। यकीन नहीं है कि यह आपके मामले में लागू होता है, लेकिन यह दिलचस्प है कोई भी कम नहीं है।
वेबडेविएव

ऐसा नहीं है। केवल उन फाइलों को देखें जो उन्होंने प्रश्न के भाग के रूप में प्रदान की हैं, या मेरे उत्तर में अलग स्क्रीनशॉट हैं। फाइलें लगभग इतनी बड़ी नहीं हैं कि प्रत्येक के लिए, 1800-1900 बाइट्स में, एक अंतर बना सकें।
डैनियल बेक

जवाबों:


25

deadcow_seo.phpयूनिक्स लाइन एंडिंग ( LF) deadcow_seo.php_2.phpका उपयोग करता है , जबकि डॉस / विंडोज लाइन एंडिंग ( CR LF) का उपयोग करता है ।

एफ़टीपी में कई "ट्रांसफ़र मोड" हैं, जिनमें से दो सामान्य उपयोग 1 में हैं - बाइनरी (जिसे "इमेज" भी कहा जाता है) और टेक्स्ट (या "एएससीआईआई")। "बाइनरी" मोड में फ़ाइल को उसी तरह स्थानांतरित किया जाता है जैसे कि बाइट-बाय-बाइट, जबकि "ASCII" फ़ाइल को पाठ की लाइनों से मिलकर व्याख्या करने का कारण बनता है - CR LFभेजने के दौरान लाइन अंत नेटवर्क के मानक में परिवर्तित हो जाते हैं , और जब प्राप्त करने के लिए मशीन की मूल लाइन अंत में परिवर्तित।

पाठ के रूप में फ़ाइलों को स्थानांतरित करना पहली बार में कुछ समझ में आता है, लेकिन यह केवल बाद में परेशानी का कारण बनता है - वास्तव में, कुछ एफ़टीपी सर्वरों ने इसे पूरी तरह से हटा दिया है या इसे सर्वर पक्ष पर बाइनरी के बराबर बना दिया है। इसके अलावा, अधिकांश टेक्स्ट एडिटर (नोटपैड को छोड़कर) विंडोज और यूनिक्स दोनों प्रारूपों में फाइलों को पढ़ और सहेज सकते हैं।

बस अपने एफ़टीपी क्लाइंट को हमेशा बाइनरी मोड का उपयोग करने के लिए कॉन्फ़िगर करें - कमांड आमतौर पर binया mode i, जबकि ग्राफिकल क्लाइंट के पास उनकी सेटिंग्स में एक चेकबॉक्स या एक फ़ाइल प्रकार सूची हो सकती है।


1 कुछ पुराने मोड "टेनेक्स" हैं ( टेनेक्स पेज-आधारित फ़ाइलों के लिए लंबे समय तक अप्रचलित) और "संपीड़ित" (जो एक सरल आरएलई एल्गोरिदम के रूप में परिभाषित किया गया है)। हाल ही में FTP सर्वर zlib संपीड़न के लिए "मोड z" का समर्थन करते हैं।


12

आपने टेक्स्ट (या ASCII) ट्रांसफर मोड का इस्तेमाल किया , जो ट्रांसफर के दौरान लाइन ब्रेक की जगह लेता है। यह अक्सर तब उपयोगी होता है जब आप विंडोज़ पर स्क्रिप्ट और प्रोग्राम विकसित करते हैं और फ़ाइलों को लिनक्स या मैक ओएस एक्स में स्थानांतरित करते हैं। वे बस अन्यथा काम नहीं करेंगे, क्योंकि सिस्टम हर लाइन के अंत में कचरा डेटा देखता है।

यदि फ़ाइल में एक एकल विंडोज लाइन ब्रेक है, \r\n(या CRLF), और आपने लिनक्स या मैक ओएस एक्स पर डाउनलोड किया, तो इसे \n(या LF) से बदल दिया गया , जो 1 बाइट कम है। फ़ाइलों की तुलना करने के लिए FileMerge का प्रयोग स्टेटस बार में इसकी पुष्टि करता है:

यहाँ छवि विवरण दर्ज करें

इस उत्तर को डेटा व्याख्या पर भी देखें ।


आप कॉन्फ़िगर कर सकते हैं कि कौन सी फ़ाइल प्रकारों को ट्रांसमिट की प्राथमिकताओं में पाठ के रूप में व्याख्या किया गया है:

यहाँ छवि विवरण दर्ज करें

आप इस सूची से सभी फ़ाइल एक्सटेंशन को हटा सकते हैं, और बस \nविंडोज का उपयोग करते समय लिनक्स / मैक ओएस एक्स लाइन टूटने पर भी मानकीकरण कर सकते हैं। अधिकांश संपादक लाइन एंडिंग मोड को बदलने में सक्षम हैं।

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