Sự khác biệt kích thước tệp máy chủ ftp so với kích thước tệp thực tế


3

Tôi đang kết nối với máy chủ FTP để tải xuống một số tệp được nén và tôi nhận thấy có chút gì đó không hài lòng về lệnh SIZE và google-fu của tôi đã làm tôi thất bại.

ftp> size file0001.xml.gz
213 2524751

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

Kích thước tệp là khác nhau, (2524751! = 2515727), như bạn có thể thấy. Tại sao?

Tôi đã đọc ngắn gọn RCF0959 PROTOCOL CHUYỂN GIAO TỆP (FTP) và không có đề cập đến lệnh SIZE, mà sau này tôi phát hiện ra là một bổ sung không chuẩn cho giao thức.

Đây là bit về kích thước byte, để thuận tiện, từ 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.

Tôi đang thiếu gì ở đây?

Cảm ơn!

Mahmoud

Câu trả lời:


6

Bạn đã chuyển ftp thành binary chế độ? ftp có thể tính kích thước với kết thúc dòng thay đổi?

2524751/2515727 * 255 = 255.91469384396638

Vì vậy, có vẻ như mỗi 255 byte trong bản gốc đã tăng thêm 0,9 byte - chỉ đủ để một tệp nén có \n chuyển đổi thành \r\n.


Này Douglas! Xin lỗi vì đã quay lại với bạn quá muộn. Vấn đề là loại đó thực sự ở định dạng ascii, tôi đã sử dụng nó thông qua ftplib của python. Khi tôi buộc một phương thức truy xuất kích thước (phương thức truy xuất ("RETR SIZE")), nó hoạt động như mong đợi. Cảm ơn!
Mahmoud Abdelkader
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.