Auf welcher Basis sollten Sie ACSII- oder Binärübertragungen über FTP auswählen?


7

Mit FTP-Clients, einschließlich der programmgesteuert verwendeten, kann der Benutzer beim Hochladen einer Datei ASCII- oder Binärübertragungen auswählen. Einige Clients unterstützen auch eine gewisse Variante von Auto, bei der Sie die Entscheidung dem FTP-Client überlassen.

Was sind die richtigen Gründe, um ein Format über das andere zu wählen? Wie entscheidet man sich? Wie kann man diese Entscheidung neben den Kunden, die die automatische Erkennung unterstützen, automatisieren?


Nur ein Kommentar: Automatisierung ist wahrscheinlich eine schlechte Idee, weil sie Sie irgendwann beißen wird und Sie lange Zeit damit verbringen werden, herauszufinden, wo das Problem liegt. Wenn Sie der Meinung sind, dass sich die Verwendung der ASCII-Übertragung lohnt, aktivieren Sie sie bei Bedarf manuell.
Alex J

Antworten:


8

Windows verwendet sowohl eine Carrige-Rückgabe als auch einen Zeilenvorschub, um das Ende einer Zeile in einer Textdatei anzuzeigen. Unix verwendet im Allgemeinen nur einen (ich denke einen Zeilenvorschub). Wenn Sie FTP-Dateien als Text verwenden, konvertiert das FTP-Programm Zeilenenden für Sie. Im Binärmodus wird die Datei genau so übertragen, wie sie ist. Wenn Sie also ein Textdokument übertragen, verwenden Sie ASCII. Alles andere und binäre ist wahrscheinlich die beste Wahl. Wie andere bereits betont haben, werden die meisten modernen Texteditoren ohnehin mit Zeilenenden umgehen (Notepad nicht und auch nicht modern :)), daher ist Binär bei weitem die sicherere Option. Ich stimme auch @njsf zu, ich mag es nicht, wenn Dateien hinter meinem Rücken geändert werden. Ich habe Editoren, die durchaus in der Lage sind, die Zeilenenden zu suchen und zu ersetzen, wenn dies erforderlich wird.


4

In der heutigen Zeit, in der die meisten Texteditoren die Zeilenenden von Unix / Dos / Mac automatisch erkennen und anpassen, finde ich kaum eine Rechtfertigung für die Verwendung von ASCII-FTP-Übertragungen. Ich benutze immer binär.

Ich möchte nicht, dass die Dateien unter der Decke geändert werden.

Ich neige dazu, scp jetzt viel mehr als ftp zu verwenden, und scp kopiert nur die Bits ...


2

Verwenden Sie immer binär. Führen Sie die Konvertierung bei Bedarf von Hand durch - sie wird wahrscheinlich nie benötigt.

Der ASCII-Modus führt nur eine Zeilenendkonvertierung zwischen Systemen mit unterschiedlichem Gehorsam durch. Es ist heutzutage absolut sinnlos. Die meisten Editoren passen sich an, XML-Parser ignorieren sie meistens. Sie haben nur Probleme beim Kompilieren von .c-Dateien oder beim Ausführen von sh-Dateien unter Unix mit MS-DOS-Zeilenende. Dies geschieht jedoch normalerweise nur aufgrund einer falsch platzierten Übertragung im ASCII-Modus .

Sagen Sie einfach Nein zum ASCII-Modus. Moderne FTP-Clients verwenden ohnehin standardmäßig BINARY.


1

Persönlich neige ich dazu, bei jeder Übertragung Binärdateien zu verwenden. Ich wurde einmal mit einer Datei gestochen, die per Binärübertragung von einem Windows-Computer auf einen Unix-Computer gestellt wurde. Infolgedessen hatte die txt-Datei immer noch CR LF-Endungen.

Der ASCI-Modus betrachtet Quell- und Zielplattformen und führt eine Übersetzung am Zeilenende durch. Die resultierende Datei hatte also CR CR LF-Zeilenenden (LF wurde von ASCI in CR LF übersetzt, da es Unix war -> Windows).

Klingt kleinlich - aber es war eine 20-Gbit-Protokolldatei, und ich hatte nur ein Zeitfenster, in dem ich sie sammeln konnte.

Ich verwende EOL-Konvertierungsprogramme auf dem lokalen Computer, wenn dies erforderlich ist.

BEARBEITEN: Ich habe die Datei vom Unix-Host wieder auf Windows übertragen


1

Beachten Sie, dass das Übertragen von Text auf einige Systeme durch Verwendung des Textmodus (nicht wirklich ASCII) beschleunigt wird, da sie den Zeichensatz nicht verwenden. Zum Beispiel EBCDIC auf IBM Mainframes und ähnlichen Systemen.

Solange beide Systeme denselben Basiszeichensatz verwenden, ist Binär wahrscheinlich weniger problematisch.


Selbst dann ist es wahrscheinlich sicherer, manuell zu konvertieren, da die Datei gelegentlich eine andere Codierung oder ähnliches hat ...
Sleske

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.