Quel est l'intérêt du mode ASCII dans FTP?

17

Pourquoi y a-t-il un mode ASCII dans FTP, qui est répandu dans les logiciels et les implémentations FTP d'aujourd'hui? Pourquoi ne pas toujours utiliser le binaire indépendamment des données?

zildjohn01
la source

Réponses:

24

En cas de doute, lisez le RFC :

La structure de fichiers est la valeur par défaut à supposer si la commande STRUcture n'a pas été utilisée mais les structures de fichiers et d'enregistrements doivent être acceptées pour les fichiers "texte" (c'est-à-dire les fichiers de TYPE ASCII ou EBCDIC) par toutes les implémentations FTP. La structure d'un fichier affectera à la fois le mode de transfert d'un fichier (voir la section sur les modes de transmission) et l'interprétation et le stockage du fichier.

La structure "naturelle" d'un fichier dépend de l'hôte qui stocke le fichier. Un fichier de code source sera généralement stocké sur un ordinateur central IBM dans des enregistrements de longueur fixe mais sur un DEC TOPS-20 sous la forme d'un flux de caractères partitionné en lignes, par exemple par. Pour que le transfert de fichiers entre ces sites disparates soit utile, il doit y avoir un moyen pour un site de reconnaître les hypothèses de l'autre sur le fichier.

etc etc.

Sinan Ünür
la source
En cas de doute: recherchez sur Google et trouvez la réponse sur StackExchange.
ke4ukz
4

Parce que différents systèmes d'exploitation (Windows, UNIX, VAX) utilisent différentes méthodes de fin de ligne pour les fichiers texte simples.

Windows (DOS) utilise une paire CR / LF, UNIX n'en utilise qu'une seule. Le mode ASCII convertit les paires CRLF et le mode BIN non.

Ron

user14456
la source
4
C'est plus que les différences de codage de fin de ligne que vous mentionnez, mais il s'agit également des différences de codage des caractères eux-mêmes, telles que la différence entre ASCII et EBCDIC. La réponse de @Sinan sites les spécificités documentées dans RFC-959
Tall Jeff
1

Je pense que c'est juste parce que c'est parfois pratique. À l'époque où le FTP était la façon dont vous obteniez les fichiers d'un système à l'autre, c'était une grande économie de temps - vous n'aviez pas besoin de savoir ce qu'était le système à l'autre bout pour avoir un fichier texte lisible.

Mais oui, la plupart du temps, c'est juste une nuisance aujourd'hui. Juste une machine corrompue pour les non-initiés!

David Markle
la source
1

Le mode ASCII avait sa place à l'époque où l'encodage des caractères et EOL était un vrai problème, mais je voudrais voir les clients ftp supprimer ou peut-être simplement masquer cette option aujourd'hui. De nos jours, ce ne sont principalement que des conventions EOL qui sont gênées entre les systèmes, mais j'ai trouvé que la plupart des éditeurs de texte décents ne s'en soucient plus de toute façon. Donc, afin d'éviter de corrompre les fichiers binaires (ou même certains textes), je recommande d'utiliser le mode binaire pour tout.

boomhauer
la source
-1

Le mode ASCII est utilisé pour que le logiciel puisse automatiquement changer les caractères EOL aux valeurs appropriées pour le client / serveur selon si vous téléchargez / téléchargez. Si vous téléchargez sur le même type de système que vous utilisez, il n'y a pas de différence dans ces modes.

La raison de ce mode est que tous les logiciels sur tous les systèmes ne gèreront pas correctement les EOL qui ne sont pas le type exact de EOL (par exemple, beaucoup de logiciels Windows ne géreront que "\ r \ n" correctement et rechigneront quelque chose horrible sur "\ n").

Matthew Scharley
la source
"il n'y a pas de différence dans ces modes." - Ce n'est pas vrai. L'envoi d'un fichier binaire en mode ascii est susceptible de le corrompre. Mal.
Beefster