In diesem Fall, warum 1 Byte mehr bei der Berechnung der Dateigröße? [geschlossen]

8

Ich habe folgende Beobachtungen gemacht, nachdem ich eine Textdatei auf Ubuntu 12.10 über die GUI (alt + enter) sowie in Terminal (ls -l) erstellt habe.

  • wenn Datei leer war: Dateigröße = 0 Byte.
  • wenn ein Zeichen: Dateigröße = 2 Bytes.
  • wenn zwei Zeichen: Dateigröße = 3 Bytes.

Warum 1 Byte mehr, wenn die Datei nur ein Zeichen enthält, weiß ich, dass dies nicht am Ende der Datei liegt, denn wenn ich ein AC-Programm geschrieben habe, hat die Schleife beendet, als sie End-Of-File erreicht hat Ergebnisse, so offensichtlich zählt das nicht, was ist es dann?

Aber bei Windows, wenn die Datei ein Zeichen enthielt, war die Dateigröße nur 1 Byte, das war normal. Was sind die Dinge hinter all diesen Dingen?

    
dimSutar 05.12.2012, 06:27
quelle

2 Antworten

10

Es liegt am Texteditor, dass Sie das bekommen. Sie müssen ein zusätzliches abschließendes Zeichen wie Newline gedrückt haben.

Wenn Sie 1 byte size für 1 Zeichen in einer Datei haben möchten.

Mach das einfach auf deinem Terminal.

%Vor%

Sie erhalten genau 1 byte Dateigröße.

Probieren Sie es aus. (Es funktioniert auf meinem System Ubuntu 11.04)

    
Omkant 05.12.2012 06:34
quelle
4

Wahrscheinlich ist das zusätzliche Zeichen das Zeilenvorschubzeichen am Ende jeder Zeile in einer Unix / Linux-Textdatei. Sie sollten das Zeichen mit dem Befehl 'od -c file' sehen können.

    
Marc Cohen 05.12.2012 06:31
quelle

Tags und Links