Wenn die Remote-Kopie mit der lokalen Kopie überschrieben wird, unterscheidet sich die Dateigröße?

1282
RPK

Wenn ich eine Remote-Datei mit einer lokalen Kopie überschreibe, überträgt FileZilla die Datei erfolgreich und überschreibt sie, aber ich stelle fest, dass die Größe der neuen Remote-Kopie um wenige KB geringer ist als die tatsächliche lokale Kopie. Warum passiert das?

3

4 Antworten auf die Frage

7
Boldewyn

Meder bezieht sich, denke ich, auf unterschiedliche Zeilenenden zwischen Linux und Windows. Während * NIXes nur ein Zeichen (ASCII 10) für einen Zeilenumbruch verwenden, verwendet Windows 2 (ASCII 13 + ACII 10).

FTP-Programme haben normalerweise einen "Text Transfer" oder "ASCII Transfer" -Modus (im Vergleich zu einem "Binary Transfer" -Modus), der diese Zeichen bei Bedarf automatisch konvertiert.

Wenn Ihre Datei also 1000 Zeilen enthält, ist sie unter Windows um 1 KB größer als auf * NIX-Systemen.

In Filezilla können Sie den Übertragungsmodus über Transfer-> Transfer Modein der Menüleiste festlegen .

Ich könnte mir einen anderen Grund vorstellen, obwohl es höchst unwahrscheinlich ist. Wenn Sie Kilobytes berechnen, können Sie 1kB = 1024 Bytes (SI-Einheit) oder 1KiB = 1000 Bytes (IEC-Einheit, beachten Sie "Ki" anstelle von "k"). Dies führt auch zu unterschiedlichen Größen, aber in allen Fällen weiß ich, dass die Größen auf beiden Seiten einer Verbindung gleich berechnet werden.

Die Übertragungsmodi werden normalerweise als ASCII-Modus und Binärmodus bezeichnet. Und heutzutage gibt es kaum einen Grund, den ASCII-Modus zu verwenden. Joachim Sauer vor 14 Jahren 0
Ich bin damit einverstanden, solange Sie den Notepad von Window nicht benutzen * shiver * `. Boldewyn vor 14 Jahren 1
4
harrymc

Vielleicht hängt dies mit dem Unterschied zwischen "Size" und "Size on disk" zusammen:

Größe ist die tatsächliche Größe der Datei in Bytes.
Die Größe der Festplatte ist der tatsächlich belegte Speicherplatz auf der Festplatte.

Wenn Ihre Sektorgröße 512 Bytes ist und Ihre Datei tatsächlich 513 Bytes beträgt, beträgt die Größe der Festplatte 1024 Bytes, da sie zwei Sektoren belegt.

Da unterschiedliche Betriebssysteme oder Festplatten unterschiedliche Sektorgrößen verwenden, unterscheiden sich die Größen, wenn die gemeldete Größe die "Größe auf Festplatte" ist.

2
meder omuraliev

Wenn der Server ein anderes Betriebssystem ist, wäre dies der Grund (z. B. Server = Linux, local = Windows). Oder es könnte sein, dass einige Bytes abgetötet wurden, unabhängig davon, ob Sie dies tun oder Ihr Texteditor (Leerzeichen werden von verschiedenen Editoren unterschiedlich behandelt). Das wäre eine anständige Vermutung, ohne den Unterschied zwischen ihnen zu sehen.

1
pavium

Ich habe diese Diskrepanz bemerkt, wenn Dateien von einem Unix-ähnlicher DOMAIN / OS - System auf Windows zu kopieren, aber da ich immer binäre Übertragung verwenden (auch mit Text - Dateien) Ich habe an anderer Stelle für die Erklärung habe zu suchen.

Ich habe festgestellt, dass auf meinem System die ursprüngliche Dateigröße als eine ganze Anzahl von Puffern ausgedrückt wird: Vielfache von 32 KB, und wenn die Datei übertragen wird, werden nur die tatsächlichen Bytes der Datei gezählt.

Aber ich verwende ein seltsames, antikes System, und ich glaube, dass die Erklärung des Meders wahrscheinlicher ist.

Hm, deine Antwort kam, als ich eine Erweiterung zu meiner schrieb. Ich denke, die Fälle sind verwandt. Boldewyn vor 14 Jahren 0