Unterschied: Binär- und ASCII-Dateien



  • Hallo,

    was ist eigentlich der Unterschied zwischen Binär- und ASCII-Dateien?
    Ich weiß...ASCII-Dateien kann ich mit einem "normalen" Texteditor öffnen, bzw. lesen und Binärdateien nicht...
    aber gibt es auch noch andere Unterschiede wie z.B. die entstehende Dateigröße bei gleicher Datenmenge?
    In eine ASCII-Datei kann ich relativ einfach formatierten Text ablegen:
    z.B. file << left << setfill('0') << fixed << setw(8)<<(double)timestamp/1000 <<" "<< kanal <<" " << endl;

    Ist dies auch bei Binär-Dateien möglich?

    (Der Aufbau bzw. die Formatierung wäre in diesem Fall extrem wichtig, da die Datei mit einem externen Programm wieder geöffnet werden soll, dass penibel auf diese Formatierung achtet)

    Ich freue mich auf Antworten...evtl. mit kurzem Code-Beispiel 🙂

    Viele Grüße
    Sascha



  • ASCII-Dateien sind Binärdateien deren Inhalt nach ASCII-Standard (wobei das Wort Standard schon in der Abkürzung steckt) gespeichert wurde.

    Binärdateien bezeichnet alle Dateien in dem Zustand wie sie auf der Festplatte sind, ohne jegliche Interpretation des Inhalts.



  • aber was mich mal interessieren würde, warum kann der Texteditor diese binären Dateien nicht mehr abspeichern?



  • Es gibt einmal in C und C++ den Unterschied zwischen Text- und Binärdateien. Dabei geht es im Grunde nur darum Systeme zu unterstützen, die sich nicht an die C bzw. UNIX Weise halten Text mit einem \n umzubrechen. Im Textmodus werden eben die '\n's in entsprechende Zeichen des Systems umgewandelt. Im Binärmodus werden die Daten so geschrieben wie sie kommen.



  • Krux schrieb:

    aber was mich mal interessieren würde, warum kann der Texteditor diese binären Dateien nicht mehr abspeichern?

    Einfaches Beispiel:

    Die Zahl 2000 wird einmal als Text, einmal Binär abgespeichert

    Inhalt der Textdatei im Texteditor:

    2000
    

    Inhalt der Textdatei im Hex-Editor:

    32 30 30 30
    

    Inhalt der Binärdatei im Hex-Editor:

    2000
    

    Inhalt der Binärdatei im Texteditor:

    0
    

    wird die Binärdatei vom Texteditor wieder gespeichert sieht die "Binärdatei" danach so aus:

    20 30 0D 0A
    

    (vermutlich)


Anmelden zum Antworten