3

Я подключаюсь к FTP-серверу, чтобы загрузить некоторые сжатые файлы, и я заметил, что что-то немного смущает насчет команды SIZE, и мой google-fu не помог мне.

ftp> size file0001.xml.gz
213 2524751

ftp> nlist -ltr
...
-rw-r--r--   1 anon  anons    2515727 Jan 30 00:00 file0001.xml.gz
...

Размеры файлов разные, (2524751!= 2515727), как видите. Зачем?

Я кратко прочитал ПРОТОКОЛ ФАЙЛА ПЕРЕДАЧИ RCF0959 (FTP), и там нет упоминаний о команде SIZE, которую я позже обнаружил как нестандартное дополнение к протоколу.

Вот немного о размере байта, для удобства, из RFC:

  byte size

     There are two byte sizes of interest in FTP:  the logical byte
     size of the file, and the transfer byte size used for the
     transmission of the data.  The transfer byte size is always 8
     bits.  The transfer byte size is not necessarily the byte size
     in which data is to be stored in a system, nor the logical byte
     size for interpretation of the structure of the data.

Что мне здесь не хватает?

Спасибо!

Махмуд

1 ответ1

6

Вы переключили ftp в binary режим? ftp может вычислять размер с изменением конца строки?

2524751/2515727 * 255 = 255,91469384396638

Таким образом, похоже, что каждые 255 байтов в оригинале получают дополнительно 0,9 байта - достаточно, чтобы сжатый файл преобразовал \n в \r\n .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .