Saya membuat cadangan dari server FTP saya, dengan lftp dan Transmit (aplikasi Mac). Semuanya baik-baik saja, tetapi ada ukuran file yang berbeda untuk 1-2 file, tetapi mereka identik.
File pertama:
http://dl.dropbox.com/u/229956/deadcow_seo.php
File kedua:
http://dl.dropbox.com/u/229956/deadcow_seo.php_2.php
Apa perbedaan antara kedua file ini?
Jawaban:
deadcow_seo.php
menggunakan ujung garis Unix (LF
), sementaradeadcow_seo.php_2.php
menggunakan ujung garis DOS / Windows (CR LF
).FTP memiliki beberapa "mode transfer", di mana dua di antaranya umum digunakan 1 - biner (juga disebut "gambar") dan teks (atau "ASCII"). Dalam mode "biner" file ditransfer persis seperti itu, byte-by-byte, sementara "ASCII" menyebabkan file ditafsirkan sebagai terdiri dari baris teks - ujung baris dikonversi ke standar jaringan
CR LF
saat mengirim, dan dikonversi ke ujung garis asli mesin saat menerima.Mentransfer file sebagai teks mungkin masuk akal pada awalnya, tetapi hanya menyebabkan masalah kemudian - pada kenyataannya, beberapa server FTP telah menghapusnya sepenuhnya atau membuatnya setara dengan biner di sisi server. Selain itu, sebagian besar editor teks (tidak termasuk Notepad) dapat membaca dan menyimpan file dalam format Windows dan Unix.
Cukup konfigurasikan klien FTP Anda untuk selalu menggunakan mode biner - perintahnya biasanya
bin
ataumode i
, sementara klien grafis mungkin memiliki kotak centang atau daftar jenis file dalam pengaturannya.1 Beberapa mode lama adalah "tenex" ( lama usang, untuk file berbasis halaman TENEX) dan "dikompresi" (yang tampaknya didefinisikan sebagai algoritma RLE sederhana). Server FTP terbaru mendukung "mode z" untuk kompresi zlib.
sumber
Anda menggunakan teks mode transfer (atau ASCII), yang menggantikan jeda baris selama transfer. Ini sering berguna ketika Anda mengembangkan skrip dan program di Windows dan mentransfer file ke Linux atau Mac OS X. Mereka tidak akan berfungsi sebaliknya, karena sistem melihat data sampah di akhir setiap baris.
Jika file memiliki satu baris Windows break,
\r\n
(atauCRLF
), dan Anda mengunduh ke Linux atau Mac OS X, itu diganti oleh\n
(atauLF
), yang kurang dari 1 byte. Menggunakan FileMerge untuk membandingkan file mengkonfirmasi ini di bilah status:Lihat juga jawaban ini pada interpretasi data .
Anda dapat mengonfigurasi jenis file mana yang ditafsirkan sebagai teks dalam preferensi Transmit:
Anda dapat menghapus semua ekstensi file dari daftar ini, dan hanya membakukan pada Linux / Mac OS X jeda baris, yaitu
\n
, bahkan ketika menggunakan Windows. Sebagian besar editor mampu mengubah mode akhir baris.sumber