it-swarm-vi.tech

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

Tại sao lại có chế độ ASCII trong FTP, vốn phổ biến trong các 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?

17
zildjohn01

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à tệp 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) thực hiện. 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à 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. Ví dụ, một tệp mã nguồn 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.

24
Sinan Ünür

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
user14456

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 nhận tệp từ hệ thống này sang hệ thống khác, đó 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 là gì để 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
David Markle

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ị lẫn lộn giữa các hệ thống, nhưng dù sao tôi cũng 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
boomhauer