# Unterschied: Binär- und ASCII-Dateien



## EntonH (9. Mai 2008)

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


----------



## Ryu1991 (9. Mai 2008)

der ofstream hat einen Open-mod zum Binär-schreiben.
Der Unterschied zwischen Ascii und Binär liegt darin, dass binär nur 1en und 0en sind, exe-Dateien sind binär, so als beispiel. Eine Text hingegen verwendet die ASCII Zeichen, soweit ich es beurteilen kann, macht es keinen Sinn einen Text binär zu speichern ( Außer natürlich er ist teil einer Exe)


----------



## MCoder (9. Mai 2008)

EntonH hat gesagt.:


> was ist eigentlich der Unterschied zwischen Binär- und ASCII-Dateien?


Die einzelnen Bytes einer Binärdatei können jeden beliebigen Wert von 0 ... 255 annehmen, während ASCII-Dateien nur Buchstaben, Ziffern, Sonderzeichen und einige Steuerzeichen (Tabs, Zeilenvorschub) enthalten dürfen.

Bei Binärdateien werden üblicherweise die Speicherabbilder der im Programm verarbeiteten Daten in die Datei geschrieben. Bei einem double-Wert z.B. wären das also (unabhängig vom Zahlenwert) immer 8-Byte (nach ISO-Standard). Damit könnte man durchaus einiges an Platz sparen.

Eine Formatierung erfolgt in dem Sinne, das man natürlich die Länge und Abfolge der einzelnen Datenwerte festlegen muss, um dann auch wieder entsprechend einlesen zu können.

Wie ich deiner Frage entnehme, gibt es aber schon ein externes Programm, dass die Daten einlesen soll, wobei die Formatierung schon festgelegt scheint. Da Daten in Binärform in der Regel anders ausschauen, als in Textform, wäre eine Binärdatei wohl eher keine Option für dich.

Gruß
MCoder


----------



## EntonH (9. Mai 2008)

Im Prinzip wär ich dann doch auf die Angaben vom Hersteller des externen Programms angewiesen wie die Formatierung für eine binäre Dateiausgabe auszusehen hat, oder?


----------



## MCoder (9. Mai 2008)

EntonH hat gesagt.:


> Im Prinzip wär ich dann doch auf die Angaben vom Hersteller des externen Programms angewiesen wie die Formatierung für eine binäre Dateiausgabe auszusehen hat, oder?


Genauso ist es.


----------

