Điểm của chế độ ASCII trong FTP là gì?


17

Tại sao có chế độ ASCII trong FTP, phổ biến trong triển khai phần mềm và FTP ngày nay? Tại sao không chỉ luôn luôn sử dụng nhị phân bất kể dữ liệu?

Câu trả lời:


24

Khi nghi ngờ, hãy đọc RFC :

Cấu trúc tệp là mặc định được giả sử nếu lệnh STRUcture chưa được sử dụng nhưng cả cấu trúc tệp và bản ghi phải được chấp nhận cho các tệp "văn bản" (nghĩa là các tệp có TYPE ASCII hoặc EBCDIC) bởi tất cả các cài đặt FTP. Cấu trúc của một tệp sẽ ảnh hưởng đến cả chế độ truyền của tệp (xem Phần về Chế độ truyền) và việc giải thích và lưu trữ tệp.

Cấu trúc "tự nhiên" của tệp sẽ phụ thuộc vào máy chủ lưu trữ tệp. Một tệp mã nguồn thường sẽ được lưu trữ trên Mainframe của IBM trong các bản ghi độ dài cố định nhưng trên DEC TOPS-20 dưới dạng một dòng các ký tự được phân chia thành các dòng, ví dụ như bởi. Nếu việc chuyển các tệp giữa các trang khác nhau như vậy là hữu ích, thì phải có một cách nào đó để một trang web nhận ra các giả định của người khác về tệp.

v.v ... Tóm lại, đó là để đảm bảo rằng các biểu diễn văn bản trong một mã hóa đã được chuyển đổi đúng khi được chuyển đến các máy chủ sử dụng một mã hóa khác.


Khi nghi ngờ: tìm kiếm Google và tìm câu trả lời trên StackExchange.
ke4ukz

4

Bởi vì các hệ điều hành khác nhau (Windows, UNIX, VAX) sử dụng các phương thức kết thúc dòng khác nhau cho các tệp văn bản đơn giản.

Windows (DOS) sử dụng cặp CR / LF, UNIX chỉ sử dụng một trong số chúng. Chế độ ASCII chuyển đổi các cặp CRLF và chế độ BIN không.

Ron


4
Đây không chỉ là sự khác biệt về mã hóa kết thúc dòng mà bạn đề cập, mà còn là về sự khác biệt về mã hóa của các ký tự, chẳng hạn như sự khác biệt giữa ASCII và EBCDIC. Câu trả lời của các trang web @Sinan các chi tiết cụ thể được ghi lại trong RFC-959
Tall Jeff

1

Tôi nghĩ rằng đó chỉ là vì nó đôi khi thuận tiện. Ngày trước, khi FTP cách bạn chuyển các tệp từ một hệ thống sang hệ thống tiếp theo, đó là một công cụ tiết kiệm thời gian lớn - bạn không cần phải biết hệ thống ở đầu bên kia để có một tệp văn bản có thể đọc được.

Nhưng vâng, chủ yếu là nó chỉ là một phiền toái ngày hôm nay. Chỉ là một cỗ máy tham nhũng cho những người không quen!


1

Chế độ ASCII đã trở lại vào thời điểm mà ký tự và mã hóa EOL là một vấn đề thực sự, nhưng tôi muốn thấy các khách hàng ftp xóa hoặc có lẽ chỉ cần ẩn tùy chọn này ngày hôm nay. Ngày nay, hầu hết chỉ là các quy ước EOL bị rối tung giữa các hệ thống, nhưng tôi đã thấy hầu hết các trình soạn thảo văn bản đàng hoàng không quan tâm nữa. Vì vậy, để tránh làm hỏng các tệp nhị phân (hoặc thậm chí một số tệp dựa trên văn bản), tôi khuyên bạn chỉ nên sử dụng chế độ nhị phân cho mọi thứ.


-1

Chế độ ASCII được sử dụng để phần mềm có thể tự động thay đổi các ký tự EOL thành các giá trị phù hợp cho máy khách / máy chủ tùy thuộc vào việc bạn đang tải lên / tải xuống. Nếu bạn đang tải lên cùng loại hệ thống như bạn đang sử dụng, không có sự khác biệt trong các chế độ này.

Lý do cho chế độ này là vì không phải tất cả phần mềm trên tất cả các hệ thống sẽ xử lý chính xác EOL không phải là loại EOL chính xác (ví dụ: rất nhiều phần mềm Windows sẽ chỉ xử lý "\ r \ n" đúng cách và sẽ làm hỏng điều gì đó kinh khủng trên "\ n").


"không có sự khác biệt trong các chế độ này." - Đây không phải là sự thật. Gửi một tệp nhị phân trong chế độ ascii có khả năng làm hỏng nó. Tệ.
Beefster
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.