Diskussion:Binärdatei

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 1 Jahr von VÖRBY in Abschnitt Zum Abschnitt: Binärdatei in Text umwandeln
Zur Navigation springen Zur Suche springen
Archiv
Wie wird ein Archiv angelegt?

Zum Abschnitt: Binärdatei in Text umwandeln[Quelltext bearbeiten]

"MIME" ist eher ein Standard zur Klassifzierung/Beschreibung von Datenformaten und dient nicht der Codierung von Binärdaten. Die Codierung von Binärdaten mittels z.B. "Base64" dient nicht der Verhinderung von Störungen bei der Datenübertragung, sondern erlaubt es überhaupt erst, Binärdaten mittels eines Formats, dass lediglich Textdaten zulässt, zu versenden. Im Artikel zum "Base64" Verfahren wird dies korrekt beschrieben. Der SMTP Standard z.B. war ursprünglich nur für den Versand von 7bit ASCII Zeichen ausgelegt. Man erfand also eine Möglichkeit Binärdaten mittels SMTP zu versenden. Evtl. sollte man diesen Abschnitt korrigieren? --Kernfuesiker (Diskussion) 15:25, 15. Jan. 2023 (CET)Beantworten

Ok, entsprechende Angaben wären im Artikel nützlich. Dabei sollte aber auch die (schon bisher nicht ganz korrekte) Artikelüberschrift geändert werden, z.B. in 'Binärdaten in Textdateien'. Denn es geht nicht nur um die Konvertierung, sondern darum, dass solche Daten überhaupt in Dateien, die üblicherweise als 'Nur Text' Dateien verstanden werden, enthalten sein und von den verarbeitenden Programmen 'verstanden' oder zumindest ignoriert werden können. Bitte kurz und verständlich ergänzen.--VÖRBY (Diskussion) 13:29, 16. Jan. 2023 (CET)Beantworten
Diese Kodierungen von/für Binärdaten finden sich überall im Internet, z.B. in HTTP oder in E-Mails, siehe RFC 2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types.
STD 11, RFC 822 defines a message representation protocol specifying
considerable detail about US-ASCII message headers, but which leaves
the message content, or message body, as flat US-ASCII text.
Siehe z.B. auch diesen leicht verständlichen (aber englischen) StackOverflow-Beitrag.
Andreas 18:28, 16. Jan. 2023 (CET)Beantworten
Ich weiß nicht, ich weiß nicht... Irgendwie will das ganze nicht so richtig passen: wird hier wirklich eine Binärdatei umgewandelt oder konvertiert? Eigentlich doch nicht die Datei, sondern die Daten, oder nicht? Zumindest bei den angesprochenen Fällen, den textbasierten Protokollen und Formaten: da wird ja keine Datei übertragen, sondern Daten. Ob das am Ausgangspunkt und/oder am Endpunkt dann wieder eine Datei wird, legen zwar die Protokolle nahe (MIME, der Typ wird bekanntgegeben), es gibt aber auch "inline"-Formate, die nicht zwangsläuft wieder eine Datei werden (müssen) -- etwa eingebettete Bilder.
Ich finde den Abschnittstitel daher irreführend: nicht die Dateien werden codiert, sondern die Daten.
Andreas 20:20, 16. Jan. 2023 (CET)Beantworten
In der Regel sind es nunmal wirklich "Dateien", die da versendet werden sollen (PDF, Bilder, Office Dokumente, usw.) Ob man das nun "umwandeln" oder "(um)codieren" oder "konvertieren" nennt, klingt für mich ein wenig nach Wortklauberei. "Konvertieren" ist in der Informatik zumindest meißt die Überführung in ein anderes "Format" (z.B. WAV->MP3). Verfahren wie "Base64" und "UUEncode" ändern das Format der Datei nicht (ein JPG bleibt z.B. ein JPG), sondern eben nur deren Codierung. Die (Binär-)Daten der Datei werden als lesbarer Text mit einem vorgegebenen beschränkten Zeichensatz dargestellt. Letzteres kann man ja alles in den Artikeln zu den jeweiligen Codierverfahren lesen. --2003:DD:CF09:7A00:2934:660C:CBF5:CCC9 18:15, 17. Jan. 2023 (CET)Beantworten
Zunächst müsste klar sein, was der Abschnitt aussagen soll. Bisher hatte ich das so verstanden, dass auch in eigentlich reinen Textdateien (wie .txt, .rtf ...) Binärzeichen auftreten - Bsp.: Textattribute (Größe, fett ...), Zeilenumbruch usw. Dazu müssten eigentlich auch irgendwelche Formatregeln existieren.
Etwas anderes scheint mir zu sein, wenn man Binärdate(ie)n in solchen Textfiles einbinden kann, Bsp. JPG in einer Textdatei einzufügen.
Wenn etwas ganz anderes gemeint ist, wäre das ein ganz anderer Sachverhalt - den zumindest ich nicht im Detail kenne.
Ich denke, alle alle Varianten von Binär- und Text-Mischung sollten hier beschrieben und die Überschrift entsprechend umbenannt werden.
Das Versenden oder Visualisieren scheint mir diesbezüglich nicht relevant zu sein. Oder eine weitere Variante? --VÖRBY (Diskussion) 11:00, 20. Jan. 2023 (CET)Beantworten
Wenn man eine Binärdatei (oder Binärdaten) als Textdatei kodiert ("flat US-ASCII" und vergleichbar), so ist das dann ja keine Textdatei, sondern es sind immer noch Binärdaten, allerdings in einer spezifischen Kodierung, die z.B. eine Übertragung in bestimmter Form zulässt. Z.B. Kann man so auch Binärdaten auf Papier ausdrucken und an anderer Stelle (mühsam, aber doch) wieder digitalisieren. Das ist mit reinen Binärdaten nicht möglich (weil auf Papier nicht eindeutig abbildbar). Ähnlich ist es mit dem erwähnten RFC (MIME, Base64 u.d.gl.), wo die Daten ebenfalls als Text-Streams für E-Mails übertragen werden.
Die Unterscheidung Datei vs. Daten kommt mir immer noch etwas zu kurz.
Andreas 12:31, 20. Jan. 2023 (CET)Beantworten
Genau genommen sind Textdateien (und wir müssen hier nicht zwingend zwischen "Datei" und "Daten" unterscheiden, weil "Daten" der Inhalt einer "Datei" sind) eine spezielle Form von Binärdateien bei denen der Inhalt (die Daten) als Bytes einer vorgegebenen Zeichensatztabelle interpretiert werden. Die Textdatei darf auch nur solche Bytes enthalten, die in der jeweiliegen Zeichensatztabelle enthalten sind, dass schließt auch die Steuerzeichen wie TAB, LF, CR usw. mit ein, weil auch diese in jeder Zeichensatztabelle enthalten sind. Es gibt auch so genannte Doppelbyte-Zeichensätze (DBCS) bei denen immer zwei Bytes als ein Zeichen interpretiert werden. Bei einer Binärdatei werden die Daten/Bytes (zunächst mal) nicht als Zeichen interpretiert. Wie die Bytes einer Binärdatei zu interpretieren/lesen sind, wird durch das Dateiformat bestimmt.
Beim Abschnitt "Binärdatei in Text umwandeln" geht es um eine einfache Aufgabenstellung: Gegeben sei ein Dateiformat oder ein Netzwerkprotokoll, das lediglich Textdaten (also Bytes die Zeichen einer vorgegebenen Zeichensatztabelle sind) enthalten darf. Wie kann eine solche Datei dennoch Binärdaten (also beliebige Bytes, die nicht zwingend als Zeichen darstelbar sind) enthalten bzw. wie kann man mit so einem Protokoll dennoch Binärdaten übertragen. Dazu wurden die Codierverfahren wie "Base64" und "UUEncode" erfunden. Mit deren Hilfe werden die Bytes einer Binärdatei in Bytes die als Zeichen darstellbar sind umgewandelt. Bei Base64 hat man sich z.B. absichtlich für einen sehr beschränkten Zeichensatz (A–Z, a–z, 0–9, +, /, =) entschieden, weil diese Zeichen auf jedem Computersystem in mindestens einer Zeichensatztabelle zu finden sind und eben auch in (einer) der ersten und einfachsten Zeichsatztabellen, der ASCII Tabelle.
Ich denke, das ist der Sachverhalt, der im Abschnitt "Binärdatei in Text umwandeln" behandelt werden sollte. --Kernfuesiker (Diskussion) 13:25, 20. Jan. 2023 (CET)Beantworten
Naja...
Ein Dateiformat ist nicht gleich ein Dateiformat. Z.B. ist das OpenDocument-"Dateiformat" ein Dokumentformat, das Dateiformat ist eine ZIP-Datei. Zum Dokumentformat zählt, dass die ZIP-Datei einer gewissen Struktur folgt. Darin können dann natürlich auch andere Dateien enthalten sein, u.a. auch Bilddateien, die im Dokument eingebettet sind.
Einige Formate unterscheiden zwischen dem Datenformat und dem Dateiformat, meist ist es aber dasselbe, und daher unterscheidet das fast niemand, aber es gibt den Unterschied. Bei Videos kennt man das am ehesten, wo derselbe kodierte Videosteam (z.B. als h.265) entweder in einer MP4-Datei, einer AVI-Datei oder einer MKV-Datei (als Containerformat) enthalten sein kann. Genauso verhält es sich mit den enthaltenen Audiosteams (derer es mehrere pro Videostream geben kann, aber auch mehrere Videosteams sind möglich) und mit den Untertiteln etc.
Es gibt auf Dateiformate, die mehrere Bilder in einer einzigen Bilddatei enthalten können: GIF etwa bietet das ab 89a, wo man diese kleinen "Videos" machen kann, in Wirklichkeit sind es aber einfach mehrere GIF-Bilder in einer einzigen Datei.
So, die Sachlage von "Binärdatei in Text umwandeln" ist also erstmal eine Sache der Kodierung, aber die Daten sind ja dieselben, nur anders kodiert. Das Container-Dateiformat hat sich geändert (zuerst Binärdatei, dann Textdatei). Genauso ist eine gezippte Datei ja in einem Archivformat, aber die Daten sind ja dieselben, nur eben komprimiert.
Andreas 14:02, 20. Jan. 2023 (CET)Beantworten
Doch, ein Dateiformat beschreibt den Inhalt einer Datei eindeutig. Wäre das nicht so, gäb's ein heilloses Durcheinander. Dass es Dateiformate gibt, die als Inhalt andere (ggf. auch mehrere) Dateiformate zulassen, widerspricht meiner Aussage nicht. --Kernfuesiker (Diskussion) 14:56, 20. Jan. 2023 (CET)Beantworten
Klar, aber nicht alles ist eine Datei. Ein Datenstrom kann denselben Inhalt haben, ist aber keine Datei. Ja: jedes Dateiformat ist auch ein Datenformat, das seht im Nachtrag bequellt. Aber "Dateiformat ist nicht gleich Dateiformat": es gibt kompliziertere Dateiformate und einfachere. Oft sind sie fast schon synonym (z.B. .doc), manchmal überhaupt nicht (z.B. .mkv). ‣Andreas 15:12, 20. Jan. 2023 (CET)Beantworten
Nachtrag:
Datenformat und Dateiformat sind keine Synonyme, denn Dateiformat und ein Datenformat müssen nicht unbedingt übereinstimmen.GB
Jedes Dateiformat ist zugleich ein Datenformat, aber nicht jedes Datenformat ist auch ein Dateiformat.GB
Auch interessant zu lesen: Standardisierte Daten- und Dateiformate.
Was man auch bedenken sollte: eine RTF-Datei ist eine Textdatei (Container, Dateiformat) als Dokumentformat (RTF, Datenformat). Als reine Textdatei (obwohl so kodiert) ist sie aber dennoch nicht menschenlesbar, da sie interpretiert werden muss - RTF-Dateien sind kodiert (=Datenformat).
Andreas 14:35, 20. Jan. 2023 (CET)Beantworten
Ich habe nicht gesagt, dass man Dateiformat und Datenformat gleich setzen kann, sondern dass es in Bezug auf den Inhalt (und dessen Codierung) keinen Unterschied macht, ob man von Text-/Binärdateien oder Text-/Binärdaten spricht. --Kernfuesiker (Diskussion) 14:48, 20. Jan. 2023 (CET)Beantworten
Und nein, RTF-Dateien sind keine Textdateien. Das RTF ist ein (Zitat) "proprietäres Dateiformat für Texte". Das ist ein Unterschied. --Kernfuesiker (Diskussion) 15:09, 20. Jan. 2023 (CET)Beantworten
Und doch sind RTF-Dateien (Datenformat) Textdateien: Technisch gesehen sind RTF-Dateien reine Textdateien, enthalten jedoch innerhalb des eigentlichen Textinhalts eingebettete Anweisungen zur Formatierung. (Dateiformat) ‣Andreas 15:14, 20. Jan. 2023 (CET)Beantworten
Sorry, aber aus meiner Sicht ist diese Formulierung "Technisch gesehen sind RTF-Dateien reine Textdateien" falsch (aber das gehört ja nicht hierher). Eine Textdatei ist eine Datei deren Inhalt ausschließlich aus Bytes besteht, die Zeichen einer vorgegebenen Zeichensatztabelle entsprechen. Einzige Ausnahme die optionalen zwei Bytes für ein BOM (Byte Order Mark). Eine Textdatei enthält keine Anweisungen zur Formatierung des Textes. Aber auch diese Diskussion gehört nicht mehr hierher. Ich habe einen Vorschlag zur Änderung des Abschnitts "Binärdatei in Text umwandeln" gemacht. Den kann man annehmen oder ablehnen. Eigentlich ganz einfach. --Kernfuesiker (Diskussion) 15:32, 20. Jan. 2023 (CET)Beantworten
RTF wie XML besteht nur aus "Bytes", also Zeichen, die "darstellbar" und damit Menschenlesbar sind. Textdateien sind damit eine Untermenge von Binärdateien, denn alle Dateien sind Binärdateien.
Wenn ich nicht spanisch kann, ist eine Textdatei mit Spanischem Inhalt für mich nicht lesbar. So, wie für mich die Formatierungsanweisungen vielleicht nicht lesbar sind (obwohl das eigentlich nicht so schwer ist -- also auch als Mensch kapiert man, was z.B. {\i kursiver Text} bedeutet, wenn man sich bei RTF einliest), sind RTF-Dateien aber dennoch reine Textdateien.
Aber, stimmt, das schweift zu weit ab. Ich habe auch einen Vorschlag gemacht. Wenn's nicht passt... ich bin mir sicher, ihr wisst, was zu tun ist... ‣Andreas 15:44, 20. Jan. 2023 (CET)Beantworten
Uups, da muss ich mich dann doch noch mal fix entschuldigen und korrigieren. Mir war entfallen, dass die Formatierungsanweisungen im RTF ebenfalls aus Text bestehen. Insofern ist die Aussage "Technisch gesehen sind RTF-Dateien reine Textdateien" natürlich richtig und somit auch die Aussage, dass RTF-Dateien Textdateien sind. Nochmal sorry. --Kernfuesiker (Diskussion) 15:55, 20. Jan. 2023 (CET)Beantworten
Meine Aussage "...Eine Textdatei enthält keine Anweisungen zur Formatierung des Textes..." ist insofern ebenfalls zu relativieren. Sie gilt natürlich nicht für Markup Formate. --Kernfuesiker (Diskussion) 16:28, 20. Jan. 2023 (CET)Beantworten
Kein Problem. ‣Andreas 16:38, 20. Jan. 2023 (CET)Beantworten

Die aktuelle Version ist nicht allgemeinverständlich: Was heißt 'in einer Text-Repräsentation kodiert werden'? Sind die Binärdaten dann Teil einer Textdatei oder eines Textstrings? Das Beispiel 'jpg-Bild in RTF-Datei', vielleicht auch andere allgemein bekannte Varianten, sollten erwähnt werden. Zu 'Als Text kodierte Binärdaten ...': Das liest sich so, als ob die Binärdaten dann eine andere Form (= Textform?) hätten als im Original. Ist das so? --VÖRBY (Diskussion) 16:27, 21. Jan. 2023 (CET)Beantworten

Ja, das ist so. Wie genau das funktioniert kann man doch in den Artikeln zu Base64 oder UUencode nachlesen. Warum weitere Details in diesem Abschnitt? --2003:DD:CF08:1700:6DC4:B6D8:13E2:A7DE 16:30, 21. Jan. 2023 (CET)Beantworten
Sorry war nicht angemeldet --Kernfuesiker (Diskussion) 16:31, 21. Jan. 2023 (CET)Beantworten
Dann steht der erste Abschnitt im Widerspruch zum zweiten: Binärdaten als 'Teil der Textdatei' wären nach wie vor Binärdaten - dann wären sie aber nicht 'als Text kodiert'. Es ist nicht klar, was mit 'kodiert' gemeint ist. 'Warum Details?': Weil man es SO nicht versteht. --VÖRBY (Diskussion) 16:46, 21. Jan. 2023 (CET)Beantworten
Sorry, aber es ist (imho) absolut klar, was mit kodieren gemeint ist. --Kernfuesiker (Diskussion) 16:49, 21. Jan. 2023 (CET)Beantworten
Ist es tatsächlich erforderlich zu einem Satz jedes genutzte Wort zu erklären? Würde das nicht unglaubliche Redundanzen schaffen? --Kernfuesiker (Diskussion) 16:51, 21. Jan. 2023 (CET)Beantworten
Ich denke, ich verstehe die Verwirrung. Binärdaten als Text kodiert sind nämlich beides: kodierte Binärdaten wie auch (unkodierte) Textdaten. Das ist wie mit dem Dateiformat und dem Datenformat: so wie jedes Dateiformat gleichzeitig auch ein Datenformat ist, sind kodierte Binärdaten gleichzeitig "raw text" und damit Textdaten bzw. eben eine Textdatei.
Ich weiß jetzt aber nicht, wie man das angeht, das noch verständlicher zu formulieren...
Andreas 16:59, 21. Jan. 2023 (CET)Beantworten
Aber ist es nicht so, dass die Artikel über Base64 oder UUEncode ganz genau erklären, wie das funktioniert? --Kernfuesiker (Diskussion) 17:14, 21. Jan. 2023 (CET)Beantworten
Würde ich auch so sehen... ‣Andreas 17:25, 21. Jan. 2023 (CET)Beantworten
Wenn es um den Begriff "Text-Repräsentation" geht, dann hätte man hier eine neune Baustelle. --Kernfuesiker (Diskussion) 17:33, 21. Jan. 2023 (CET)Beantworten
Aber das fuehrt uns nicht wirklich ins Ziel. Oder? --Kernfuesiker (Diskussion) 17:34, 21. Jan. 2023 (CET)Beantworten
Nicht jedem ist klar, dass beim Einfügen in eine Text~Datei ein Umkodieren erfolgt. Ich habe das jetzt im Artikel deutlicher bescchrieben. Sorry, es gibt auch 'OMA's.--VÖRBY (Diskussion) 10:42, 22. Jan. 2023 (CET)Beantworten