Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#14

AW: Binärdatei schreiben und lesen?

  Alt 16. Jan 2014, 13:32
Aphton, du hast natürlich Recht, denn eine Textdatei ist genauso Binär gespeichert, wie ein Exe-Programm, wie ein Bild, wie eine MP3-Datei, wie ein AVI- oder MP4-Filmchen. Alles ist Binär, und ich kann eine Textdatei in einen AnsiString laden, wie ein Exe-Programm, wie eine Wav-Datei. Zuerst einmal sind alle Daten Binär, bzw. eine Aneinanderreihung von Bytes, ob Text oder was anderes.

Somit denke ich, dass der TE einfach nur zu kompliziert denkt. Er denk evtl. eine Textdatei ist anders gespeichert als eine Binärdatei.

Aber um noch mal auf die Frage des Unterschiedes zwischen Textdatei und Binärdatei zu kommen. Historisch gab es den mal, denn es gab eine Zeit in der es auf jeden Bit ankam. Und warum ein teures Bit kaufen und ungenutzt lassen, wenn man den nicht braucht. Und man brauchte früher das achte Bit nicht. Wozu? Haben die Amis Umlaute? Nein. Also, um es mit den Worten des großen amerikanischen Geschäftsmannes Bill Gates zu sagen, als im vorgeworfen wurde, dass Windows 1 oder 2 keine anderen Ländercodes beachtet, nur das amerikanische: "Windows ist ein amerikanisches Produkt, produziert in erster Linie für den amerikanischen Markt". Genauso dachten damals auch der Rest von Amerika: um einen Text darzustellen, reichen sieben Bits. Soweit ich mich erinnere ging die frühere Ascii-Tabelle auch nur bis 127. 128 bis 255 kam erst später (meiner Kenntnis und Erinnerung nach). Wobei ich nicht weiß ob die Nutzung des 8'ten Bits dem Standard entspricht, oder das nur Wildwuchs ist, so das Ascii immer noch aus 7-Bits besteht. Gibt man bei Google Ascii-Tabelle ein, bekommt man einen 8-Bit Zeichensatz. Allerdings muss ich zugeben, dass ich den Wechsel von 7 auf 8 Bit nicht mitbekommen habe. In meinem Kopf ist Ascii immer noch rein 7 Bit. Ich kann mich erinnern, dass die Erweiterung (also 8-Bit) dann Ansi-Tabelle genannt wurde. Die ging bis 255.

Es ist ja schön wenn man noch das DOS Zeitalter erlebt hat, denn man weiß, dass man früher (ich glaube Config.sys, kann aber auch Autoexec.bat gewesen sein) den für das Land gültigen Zeichencode laden musste. Hat man das nicht gemacht, war die amerikanische geladen und man hatte auf dem Zeichen ö (oder Ö?) den Doppelpunkt.

Ich kann mich aus dem Geschichtsuntersicht auch erinnern, dass es mal 5-Bit Systeme gab. Mit 32 Zahlen kann man auch das Alphabet darstellen. Aber bleiben wir mal bei den 7-Bits.

Natürlich gab es damals schon Programme, so dass man auch 8-Bit Speicher usw. gab. So gab es doch tatsächlich zwei Welten: eine 8-Bit und eine 7-Bit. Hat man nur Texte verschickt, reichten 7-Bit. Bei einem Text von 1000 Zeichen sparte man sich somit 1000 Bits. Bei der Übertragungsgeschwindigkeit von früher, konnte man so nicht nur Speicher sparen, sondern auch Zeit.

Kommen wir zurück zu Textdatei und Binärdatei. Wenn einer früher (also noch A. D.) zum mir sagte - diese Datei ist eine Textdatei - dann bestand sie vor meinem geistigen Auge durchaus aus einer Aneinanderreihung von Bytes, aber das achte Bit war eine Null. Heute ist das nicht so. Ich hab gerade eine TXT Datei mit einem Hex-Editor wie eine Binärdatei geöffnet und sehe da gelegentlich Doppel-Hexwerte die mit einem F beginnen, also ein Zeichen, dass das achte Bit genutzt wird.

Also, die Unterscheidung zwischen der Bezeichnung Textdatei und Binärdatei ist heute nur noch historisch. Wurde früher unter Binärdatei die Nutzung aller aller acht Bits verstanden und bei Textdatei die Nutzung von nur sieben Bits, nutzen heute auch Textdateien die vollen acht Bits. Womit sie nach früherer Sichtweise Binärdateien sind.

Und weil wir bei Ascii ist, bekanntlich sind die ersten 32 Zeichen Steuerzeichen. Und wer seine Briefe noch mit Edlin & Co schrieb, den kennt noch einige, wie z. B. ShowMessage('Hallo' + ^j + 'Welt') ergibt auch heute noch ein Zeilenumbruch. Und weil Null eigentlich nie ein richtiges Steuerzeichen war, terminieren wir heute damit unsere Zeichenketten. Somit hört der Text hier ShowMessage('Hallo' + ^@ + 'Welt') auch gleich nach Hallo auf.
  Mit Zitat antworten Zitat