Textdatei: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
'''topic''' - Beschreibung
'''Textdatei''' - Beschreibung
 
== Beschreibung ==
== Beschreibung ==
[[Datei:ASCII full.svg|mini|alt=95 ASCII-Zeichen, weiße Schrift auf schwarzem Grund|Die 95 druckbaren Zeichen des ursprünglichen [[American Standard Code for Information Interchange|ASCII]]]]
[[Datei:ASCII full.svg|mini|alt=95 ASCII-Zeichen, weiße Schrift auf schwarzem Grund|Die 95 druckbaren Zeichen des ursprünglichen [[American Standard Code for Information Interchange|ASCII]]]]


Als '''Textdatei''' wird in der [[Informationstechnik]] eine [[Datei]] bezeichnet, die darstellbare [[Zeichen]] enthält und zum [[Speichern (Informatik)|Speichern]], [[Texteditor|Bearbeiten]], zur [[Datenübertragung]] und [[Lesen]] dient.
Als '''Textdatei''' wird in der [[Informationstechnik]] eine [[Datei]] bezeichnet, die darstellbare [[Zeichen]] enthält und zum [[Speichern (Informatik)|Speichern]], [[Texteditor|Bearbeiten]], zur [[Datenübertragung]] und [[Lesen]] dient


== Allgemeines ==
== Allgemeines ==
Die Zeichen können durch Steuerzeichen wie Zeilen- und Seitenwechsel untergliedert sein. Ein Text ist aus Sicht der [[Informationstechnologie]] ein aus [[Buchstabe]]n des [[Alphabet]]s, [[Zahlzeichen]] und anderen Zeichen (wie [[Sonderzeichen]]) zusammengesetzter [[Datenbestand]], der in einer Textdatei erfasst ist.<ref>Detlef Jürgen Brauner, Robert Raible-Besten, Martin M. Weigert (Hrsg.): [https://www.google.de/books/edition/Multimedia_Lexikon/ptadCgAAQBAJ?hl=de&gbpv=1&dq=Textdatei+lexikon&pg=PA105&printsec=frontcover ''Multimedia-Lexikon''.] 1998, S. 340.</ref>
Die Zeichen können durch Steuerzeichen wie Zeilen- und Seitenwechsel untergliedert sein
* Ein Text ist aus Sicht der [[Informationstechnologie]] ein aus [[Buchstabe]]n des [[Alphabet]]s, [[Zahlzeichen]] und anderen Zeichen (wie [[Sonderzeichen]]) zusammengesetzter [[Datenbestand]], der in einer Textdatei erfasst ist


Das Gegenstück zur Textdatei ist eine [[Binärdatei]]. Im Grunde werden auch Textdateien binär gespeichert, die Begriffe werden jedoch komplementär verwendet, denn die Interpretation des binären Inhalts ist ausschlaggebend: Bei einer Textdatei wird der Inhalt als sequenzielle Folge von Zeichen eines [[Zeichensatz]]es interpretiert, bei einer Binärdatei ist eine beliebige anderweitige Interpretation des Inhalts möglich.<ref name="Mughal2007">Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen: ''Java Actually: A First Course in Programming.'' Cengage Learning EMEA, London 2007, ISBN 1-84480-418-6, S. 268 ([https://books.google.de/books?id=CSIlD5cIZqEC&pg=PA268 Google books])</ref> Folglich ist eine Textdatei im Gegensatz zu einer Binärdatei ohne die Verwendung spezieller Programme lesbar und kann mit einem einfachen [[Texteditor]] –&nbsp;wie beispielsweise mit [[Editor (Windows)|Notepad]] unter [[Microsoft Windows|Windows]] oder [[vi]] oder [[Nano (Texteditor)|Nano]] unter [[Unix]]&nbsp;– betrachtet und bearbeitet werden.<ref name="DaleLewis2013">Nell B. Dale, John Lewis: ''Computer science illuminated.'' Jones & Bartlett Learning, Burlington 2013, ISBN 978-1-4496-6573-9, S. 364 f. ([https://books.google.de/books?id=3ls6K2cJW_0C&pg=PA364 Google books])</ref>
Das Gegenstück zur Textdatei ist eine [[Binärdatei]]
* Im Grunde werden auch Textdateien binär gespeichert, die Begriffe werden jedoch komplementär verwendet, denn die Interpretation des binären Inhalts ist ausschlaggebend: Bei einer Textdatei wird der Inhalt als sequenzielle Folge von Zeichen eines [[Zeichensatz]]es interpretiert, bei einer Binärdatei ist eine beliebige anderweitige Interpretation des Inhalts möglich


Im Gegensatz zu dieser fachsprachlichen Definition des Begriffs Textdatei, bei der das [[Dateiformat]] ausschlaggebend ist, orientiert sich die umgangssprachliche Verwendung des Begriffs häufig primär am für den [[Endbenutzer]] sichtbaren Inhalt der Datei: Dabei werden etwas unscharf alle Dateien als „Textdatei“ bezeichnet, die mit dem Ziel erstellt wurden, einen lesbaren Text zu präsentieren, unabhängig davon, in welcher Form sie gespeichert werden. Bei den von üblicher [[Textverarbeitung]]s- oder [[Desktop-Publishing|Publishingsoftware]] bei Speicherung erzeugten Dateien handelt es sich jedoch häufig um komplexe Dateiformate, die neben dem Text Metainformation zur Beschreibung des Textlayouts, der Struktur und der verwendeten Schriften enthalten; zudem können Bilder oder Grafiken eingebettet sein. Deshalb handelt es sich um keine Textdateien im fachsprachlichen Sinn, da die Dateiformate häufig binär sind und zur Anzeige eine spezielle Software erforderlich ist.
Folglich ist eine Textdatei im Gegensatz zu einer Binärdatei ohne die Verwendung spezieller Programme lesbar und kann mit einem einfachen [[Texteditor]] –&nbsp;wie beispielsweise mit [[Editor (Windows)|Notepad]] unter [[Microsoft Windows|Windows]] oder [[vi]] oder [[Nano (Texteditor)|Nano]] unter [[Unix]]&nbsp;– betrachtet und bearbeitet werden


Bei einer Textdatei im fachsprachlichen Sinn wird die Menge der verfügbaren Zeichen durch die zugrunde liegende [[Zeichenkodierung|Codierung]] bestimmt. Am gebräuchlichsten sind hierbei [[American Standard Code for Information Interchange|ASCII]] oder [[UTF-8]], eine Codierung des [[Unicode]]. Eine solche Textdatei muss dabei nicht notwendigerweise Text enthalten&nbsp;– es kann sich beispielsweise auch um [[ASCII-Art]] handeln, also um Piktogramme auf Basis der verfügbaren Zeichen. Wenn es sich jedoch um [[Text]] handelt und zum Verständnis der Bedeutung weder besondere Verarbeitungsschritte noch die Kenntnis einer speziellen [[Notation]] erforderlich sind, wird der Inhalt als ''[[Plain text]]'' bezeichnet.<ref name="RFC4288" /> Die Zeichenmenge wird aber auch häufig durch eine natürliche oder [[formale Sprache]] eingeschränkt. Textdateien, die eine bestimmte Notation erfordern –&nbsp;wie beispielsweise [[Hypertext Markup Language|HTML]]-Dateien&nbsp;– können zwar mit einem einfachen Texteditor bearbeitet werden, jedoch gibt es hierfür oft spezielle Programme, die die Bearbeitung erleichtern&nbsp;– beispielsweise durch besondere [[Syntaxhervorhebung|Hervorhebungen]] oder automatische Formatierungen.
Im Gegensatz zu dieser fachsprachlichen Definition des Begriffs Textdatei, bei der das [[Dateiformat]] ausschlaggebend ist, orientiert sich die umgangssprachliche Verwendung des Begriffs häufig primär am für den [[Endbenutzer]] sichtbaren Inhalt der Datei: Dabei werden etwas unscharf alle Dateien als „Textdatei“ bezeichnet, die mit dem Ziel erstellt wurden, einen lesbaren Text zu präsentieren, unabhängig davon, in welcher Form sie gespeichert werden
* Bei den von üblicher [[Textverarbeitung]]s- oder [[Desktop-Publishing|Publishingsoftware]] bei Speicherung erzeugten Dateien handelt es sich jedoch häufig um komplexe Dateiformate, die neben dem Text Metainformation zur Beschreibung des Textlayouts, der Struktur und der verwendeten Schriften enthalten; zudem können Bilder oder Grafiken eingebettet sein
* Deshalb handelt es sich um keine Textdateien im fachsprachlichen Sinn, da die Dateiformate häufig binär sind und zur Anzeige eine spezielle Software erforderlich ist
 
Bei einer Textdatei im fachsprachlichen Sinn wird die Menge der verfügbaren Zeichen durch die zugrunde liegende [[Zeichenkodierung|Codierung]] bestimmt
* Am gebräuchlichsten sind hierbei [[American Standard Code for Information Interchange|ASCII]] oder [[UTF-8]], eine Codierung des [[Unicode]]
* Eine solche Textdatei muss dabei nicht notwendigerweise Text enthalten&nbsp;– es kann sich beispielsweise auch um [[ASCII-Art]] handeln, also um Piktogramme auf Basis der verfügbaren Zeichen
* Wenn es sich jedoch um [[Text]] handelt und zum Verständnis der Bedeutung weder besondere Verarbeitungsschritte noch die Kenntnis einer speziellen [[Notation]] erforderlich sind, wird der Inhalt als ''[[Plain text]]'' bezeichnet
* Die Zeichenmenge wird aber auch häufig durch eine natürliche oder [[formale Sprache]] eingeschränkt
* Textdateien, die eine bestimmte Notation erfordern –&nbsp;wie beispielsweise [[Hypertext Markup Language|HTML]]-Dateien&nbsp;– können zwar mit einem einfachen Texteditor bearbeitet werden, jedoch gibt es hierfür oft spezielle Programme, die die Bearbeitung erleichtern&nbsp;– beispielsweise durch besondere [[Syntaxhervorhebung|Hervorhebungen]] oder automatische Formatierungen


== Geschichte ==
== Geschichte ==
In der Anfangszeit der [[Datenverarbeitung|elektronischen Datenverarbeitung]] war die Unterscheidung zwischen Text- und Binärdateien einfacher als heute. Bei einer Textdatei wurde ein Zeichen immer direkt in ein spezielles Bitmuster umgesetzt. Die Datei konnte ohne Umwege –&nbsp;das heißt Zeichen für Zeichen, ohne jegliche Umsetzung durch ein spezielles Programm&nbsp;– zu einem [[Terminal (Computer)|Terminal]], [[Drucker (Gerät)|Drucker]] oder [[Fernschreiber]] übertragen werden.<ref>Steve Moritsugu, Sanjiv Guha, David Pitts: ''Practical Unix.'' Que, 1999, ISBN 0-7897-2250-X, S. 218 ([https://books.google.de/books?id=PkZdv3UNTCgC&pg=PA218 books.google.de])</ref> Der bei Übertragung zwischen Fernschreibern verwendete [[Baudot-Code]] ist auch der Ursprung der in Textdateien zu findenden [[Steuerzeichen]] „[[Zeilenvorschub]]“ oder „[[Wagenrücklauf]]“.
In der Anfangszeit der [[Datenverarbeitung|elektronischen Datenverarbeitung]] war die Unterscheidung zwischen Text- und Binärdateien einfacher als heute
* Bei einer Textdatei wurde ein Zeichen immer direkt in ein spezielles Bitmuster umgesetzt
* Die Datei konnte ohne Umwege –&nbsp;das heißt Zeichen für Zeichen, ohne jegliche Umsetzung durch ein spezielles Programm&nbsp;– zu einem [[Terminal (Computer)|Terminal]], [[Drucker (Gerät)|Drucker]] oder [[Fernschreiber]] übertragen werden
* Der bei Übertragung zwischen Fernschreibern verwendete [[Baudot-Code]] ist auch der Ursprung der in Textdateien zu findenden [[Steuerzeichen]] „[[Zeilenvorschub]]“ oder „[[Wagenrücklauf]]“


Zur Umsetzung der physisch gespeicherten [[Bit]]folgen in einem Text wird eine [[Zeichenkodierung]] verwendet. Früher wurde dabei nahezu ausschließlich ein Zeichen immer in genau ein [[Byte]] umgesetzt, also im Regelfall eine Gruppe von 8&nbsp;Bit, die so 256 (entspricht&nbsp;2<sup>8</sup>) verschiedene Zeichen ermöglichte. Bei der Codierung mittels ASCII in der ursprünglichen Definition wurden tatsächlich nur 7&nbsp;Bits verwendet.<ref>Der Sachverhalt, dass das höchstwertige Bit in Textdateien, die den ursprünglichen ASCII verwendeten, immer&nbsp;0 war, wurde auch von [[Heuristik]]en zur Unterscheidung von Text- und Binärdateien verwendet.</ref>
Zur Umsetzung der physisch gespeicherten [[Bit]]folgen in einem Text wird eine [[Zeichenkodierung]] verwendet
* Früher wurde dabei nahezu ausschließlich ein Zeichen immer in genau ein [[Byte]] umgesetzt, also im Regelfall eine Gruppe von 8&nbsp;Bit, die so 256 (entspricht&nbsp;2<sup>8</sup>) verschiedene Zeichen ermöglichte
* Bei der Codierung mittels ASCII in der ursprünglichen Definition wurden tatsächlich nur 7&nbsp;Bits verwendet


Mit den 7- oder 8-Bit-Zeichensätzen kann nur jeweils eine Schrift in einer Datei verwendet werden; die Verwendung verschiedener Sprachen ist nur bedingt möglich. Die ostasiatischen Schriftsysteme, wie [[Japanische Schrift|Japanisch]], [[Chinesische Schrift|Chinesisch]] und [[Koreanische Schrift|Koreanisch]], können praktisch überhaupt nicht abgebildet werden. Mit [[ISO/IEC 2022|ISO 2022]] gab es im Jahr 1986 erstmals einen Standard, der die Verwendung verschiedener Schriften in einer Textdatei ermöglichte, und der auch Schriften vorsah, die mehr als 256 verschiedene Schriftzeichen verwenden. Dieser Standard erlangte aber nur im ostasiatischen Raum nennenswerte Verbreitung und wurde durch den 1991 erstmals veröffentlichten [[Unicode]] verdrängt, der langfristig alle existierenden Schriftsysteme abbilden soll.<ref>Peter Constable: {{Webarchiv |url=http://scripts.sil.org/cms/SCRIPTs/page.php?site_id=nrsi&item_id=IWS-Chapter03 |text=''Character set encoding basics. Understanding character set encodings and legacy encodings''. |wayback=20130505074221}} sil.org</ref><ref>Richard Gillam: ''Unicode Demystified: A Practical Programmer’s Guide to the Encoding Standard.'' Boston 2003, ISBN 0-201-70052-2, S. 38&nbsp;ff.</ref>
Mit den 7- oder 8-Bit-Zeichensätzen kann nur jeweils eine Schrift in einer Datei verwendet werden; die Verwendung verschiedener Sprachen ist nur bedingt möglich
* Die ostasiatischen Schriftsysteme, wie [[Japanische Schrift|Japanisch]], [[Chinesische Schrift|Chinesisch]] und [[Koreanische Schrift|Koreanisch]], können praktisch überhaupt nicht abgebildet werden
* Mit [[ISO/IEC 2022|ISO 2022]] gab es im Jahr 1986 erstmals einen Standard, der die Verwendung verschiedener Schriften in einer Textdatei ermöglichte, und der auch Schriften vorsah, die mehr als 256 verschiedene Schriftzeichen verwenden
* Dieser Standard erlangte aber nur im ostasiatischen Raum nennenswerte Verbreitung und wurde durch den 1991 erstmals veröffentlichten [[Unicode]] verdrängt, der langfristig alle existierenden Schriftsysteme abbilden soll


Spätestens seit Einführung von Unicode stellt sich die Umsetzung eines Zeichens in seine binäre Repräsentation komplizierter dar, da es hierfür mehrere Varianten gibt und ein Zeichen nicht immer mit der gleichen Anzahl Bytes umgesetzt wird.
Spätestens seit Einführung von Unicode stellt sich die Umsetzung eines Zeichens in seine binäre Repräsentation komplizierter dar, da es hierfür mehrere Varianten gibt und ein Zeichen nicht immer mit der gleichen Anzahl Bytes umgesetzt wird


Da der Austausch von Dateien zwischen unterschiedlichen Rechnersystemen nicht zuletzt durch das [[Internet]] wichtiger geworden ist und Textdateien im Vergleich zu Binärdateien auf einfachere Weise eine systemunabhängige Bearbeitung von Dateien ermöglichen, hat das Textformat an Bedeutung gewonnen. Jedoch ist insbesondere auch durch die vielfältige Verwendung von Textdateien der Begriff selbst unzweckmäßiger und unschärfer geworden.<ref>Sascha Kersken: ''IT-Handbuch für Fachinformatiker.'' Galileo Computing, Bonn 2009, ISBN 978-3-8362-1420-9, S. 779</ref><ref>Sascha Kersken: ''IT-Handbuch für Fachinformatiker.'' Galileo Computing, Bonn 2009, ISBN 978-3-8362-1420-9, S. 848 f.</ref>
Da der Austausch von Dateien zwischen unterschiedlichen Rechnersystemen nicht zuletzt durch das [[Internet]] wichtiger geworden ist und Textdateien im Vergleich zu Binärdateien auf einfachere Weise eine systemunabhängige Bearbeitung von Dateien ermöglichen, hat das Textformat an Bedeutung gewonnen
* Jedoch ist insbesondere auch durch die vielfältige Verwendung von Textdateien der Begriff selbst unzweckmäßiger und unschärfer geworden


== Abgrenzung von Binär- und Textdateien ==
== Abgrenzung von Binär- und Textdateien ==
Bei vielen [[Betriebssystem]]en existieren Konventionen in Bezug auf die [[Dateinamenserweiterung|Endung]] von [[Dateiname]]n zur Kennzeichnung des Dateityps. Unter Windows und [[macOS]] wird dem Namen einer Textdatei meist die Endung <code>.txt</code> angehängt, auch bei anderen Betriebssystemen wie beispielsweise Linux wird diese Dateiendung teilweise verwendet.
Bei vielen [[Betriebssystem]]en existieren Konventionen in Bezug auf die [[Dateinamenserweiterung|Endung]] von [[Dateiname]]n zur Kennzeichnung des Dateityps
* Unter Windows und [[macOS]] wird dem Namen einer Textdatei meist die Endung <code>.txt</code> angehängt, auch bei anderen Betriebssystemen wie beispielsweise Linux wird diese Dateiendung teilweise verwendet


Die zur Standardisierung des technischen Formats von [[E-Mail]]s entworfenen [[Multipurpose Internet Mail Extensions]] (MIME) definieren sogenannte [[Internet Media Type|Medientypen]], die mittlerweile neben dem E-Mail-Verkehr auch in vielen anderen Bereichen zur Kennzeichnung des Dateityps verwendet werden. Der Medientyp <code>text</code> kennzeichnet dabei Text. Die vollständige Typangabe wird noch um einen Subtyp ergänzt, der den Verwendungszweck des Textes spezifiziert. Bei Textdateien, die direkt den „eigentlichen“ Text enthalten, der nicht für eine bestimmte maschinelle Weiterverarbeitung bestimmt ist, lautet die vollständige Typangabe <code>text/plain</code>.
Die zur Standardisierung des technischen Formats von [[E-Mail]]s entworfenen [[Multipurpose Internet Mail Extensions]] (MIME) definieren sogenannte [[Internet Media Type|Medientypen]], die mittlerweile neben dem E-Mail-Verkehr auch in vielen anderen Bereichen zur Kennzeichnung des Dateityps verwendet werden
* Der Medientyp <code>text</code> kennzeichnet dabei Text
* Die vollständige Typangabe wird noch um einen Subtyp ergänzt, der den Verwendungszweck des Textes spezifiziert
* Bei Textdateien, die direkt den „eigentlichen“ Text enthalten, der nicht für eine bestimmte maschinelle Weiterverarbeitung bestimmt ist, lautet die vollständige Typangabe <code>text/plain</code>


Für den in einer Textdatei enthaltenen Text können keine besonderen Formatierungen wie beispielsweise [[Schriftschnitt#Variation der Schriftstärke|Hervorhebungen durch Fettdarstellung]] festgelegt werden. Manche Codierungen erlauben das Stapeln [[Diakritisches Zeichen|diakritischer Zeichen]] oder die Darstellung von [[Bidirektionaler Text|bidirektionalem Text]].<ref name="RFC4288" />
Für den in einer Textdatei enthaltenen Text können keine besonderen Formatierungen wie beispielsweise [[Schriftschnitt#Variation der Schriftstärke|Hervorhebungen durch Fettdarstellung]] festgelegt werden
* Manche Codierungen erlauben das Stapeln [[Diakritisches Zeichen|diakritischer Zeichen]] oder die Darstellung von [[Bidirektionaler Text|bidirektionalem Text]]


Eine mit einer [[Textverarbeitung]] (wie beispielsweise [[Microsoft Word]] oder [[LibreOffice]] Writer) erstellte Datei ist im Normalfall keine Textdatei,<ref>Zumindest enthalten die von Textverarbeitungen verwendeten Dateiformate nicht direkt den eigentlichen Text, da aber aktuelle Textverarbeitungssoftware häufig ein auf XML basierendes Dateiformat verwendet, kann man diese Datei auf anderem Abstraktionsniveau als Textdatei betrachten (siehe [[#XML|XML]]).</ref> selbst wenn ausschließlich Text erfasst wurde, da der Text nur unter Verwendung eines geeigneten Textverarbeitungssystems wieder angezeigt und bearbeitet werden kann. Auch ein im [[PostScript]] (<code>.ps</code>), [[Portable Document Format]] (PDF, <code>.pdf</code>) oder [[TeX]]-[[Device independent file format|DVI]] (<code>.dvi</code>) vorliegender Text ist keine Textdatei, weil diese codierte Formatinformationen enthält, die auch binär sein können. Ebenso handelt es sich bei Texten, die mittels eines [[Scanner (Datenerfassung)|Scanners]] eingelesen werden, nicht um Textdateien. Diese sind vielmehr [[Bilddatei]]en, sofern sie nicht nach dem Scan-Vorgang mittels einer [[Texterkennung]]s-Software (OCR, {{lang|en|optical character recognition}}) in eine Textdatei umgewandelt werden.
Eine mit einer [[Textverarbeitung]] (wie beispielsweise [[Microsoft Word]] oder [[LibreOffice]] Writer) erstellte Datei ist im Normalfall keine Textdatei,
selbst wenn ausschließlich Text erfasst wurde, da der Text nur unter Verwendung eines geeigneten Textverarbeitungssystems wieder angezeigt und bearbeitet werden kann
* Auch ein im [[PostScript]] (<code>.ps</code>), [[Portable Document Format]] (PDF, <code>.pdf</code>) oder [[TeX]]-[[Device independent file format|DVI]] (<code>.dvi</code>) vorliegender Text ist keine Textdatei, weil diese codierte Formatinformationen enthält, die auch binär sein können
* Ebenso handelt es sich bei Texten, die mittels eines [[Scanner (Datenerfassung)|Scanners]] eingelesen werden, nicht um Textdateien
* Diese sind vielmehr [[Bilddatei]]en, sofern sie nicht nach dem Scan-Vorgang mittels einer [[Texterkennung]]s-Software (OCR, {{lang|en|optical character recognition}}) in eine Textdatei umgewandelt werden


Bei einer [[Datenkomprimierung]] kann bei Textdateien im Regelfall eine erheblich größere Einsparung bei der Speichergröße erzielt werden als bei Binärdateien. Dies liegt daran, dass bei Textdateien die [[Entropie (Informationstheorie)|Informationsdichte]] geringer ist als bei den meisten Binärdateien, was die gängigen Komprimierungsalgorithmen ausnutzen&nbsp;– beispielsweise durch Verwendung der [[Huffman-Kodierung]].<ref>Hans Werner Lang: [https://www.inf.hs-flensburg.de/lang/algorithmen/code/huffman/huffman.htm ''Codierungstheorie – Huffmann-Code''.] Seite der [[Hochschule Flensburg (Fachhochschule)|Hochschule Flensburg]], 1997–2022; abgerufen am 22.&nbsp;Oktober 2022</ref>
Bei einer [[Datenkomprimierung]] kann bei Textdateien im Regelfall eine erheblich größere Einsparung bei der Speichergröße erzielt werden als bei Binärdateien
* Dies liegt daran, dass bei Textdateien die [[Entropie (Informationstheorie)|Informationsdichte]] geringer ist als bei den meisten Binärdateien, was die gängigen Komprimierungsalgorithmen ausnutzen&nbsp;– beispielsweise durch Verwendung der [[Huffman-Kodierung]]


== Kennzeichnung des Zeilenendes ==
== Kennzeichnung des Zeilenendes ==
Grundsätzlich gibt es zwei Möglichkeiten festzulegen, an welcher Stelle eine neue Zeile im Text beginnen soll: die Festlegung einer konstanten Anzahl Zeichen pro Zeile oder die Verwendung definierter spezieller Zeichen zur Markierung des Zeilenendes.
Grundsätzlich gibt es zwei Möglichkeiten festzulegen, an welcher Stelle eine neue Zeile im Text beginnen soll: die Festlegung einer konstanten Anzahl Zeichen pro Zeile oder die Verwendung definierter spezieller Zeichen zur Markierung des Zeilenendes


=== Festlegung einer konstanten Zeilenlänge ===
=== Festlegung einer konstanten Zeilenlänge ===
Die Verwendung einer festen Zeilenlänge hat den Vorteil, dass die Position einer bestimmten Zeile innerhalb der Zeichenfolge ([[Byte]]folge) der Datei ermittelt werden kann, ohne die Datei Zeile für Zeile lesen zu müssen. Allerdings hat sie den Nachteil, dass Zeilen mit kürzerem Inhalt „aufgefüllt“ werden müssen (siehe [[Padding (Informatik)|Padding]]); dies erfolgt in der Regel mit [[Leerzeichen]]. Dadurch beansprucht die Datei mehr Speicherplatz als nötig, wenn die Zeilenlänge nicht ausgeschöpft wird. Eine solche feste Zeilenlänge ist nur auf [[Großrechner]]-Systemen gebräuchlich. Die Satzlänge wird dabei vom [[Dateisystem]] verwaltet oder ist bei Zugriff auf die Datei anzugeben. Sehr häufig ist die Satzlänge von 80 Zeichen, da diese Anzahl Zeichen bei zeichenorientierten [[Terminal (Computer)|Terminals]] in einer Zeile dargestellt werden kann, was wiederum auf die historischen [[Lochkarte]]n zurückgeht.<ref>G. D. Brown: ''zOS/JCL. Job Control Language im Betriebssystem z/OS MVS.'' München 2004, ISBN 3-486-27397-3, S. 124 ff.</ref>
Die Verwendung einer festen Zeilenlänge hat den Vorteil, dass die Position einer bestimmten Zeile innerhalb der Zeichenfolge ([[Byte]]folge) der Datei ermittelt werden kann, ohne die Datei Zeile für Zeile lesen zu müssen
* Allerdings hat sie den Nachteil, dass Zeilen mit kürzerem Inhalt „aufgefüllt“ werden müssen (siehe [[Padding (Informatik)|Padding]]); dies erfolgt in der Regel mit [[Leerzeichen]]
* Dadurch beansprucht die Datei mehr Speicherplatz als nötig, wenn die Zeilenlänge nicht ausgeschöpft wird
* Eine solche feste Zeilenlänge ist nur auf [[Großrechner]]-Systemen gebräuchlich
* Die Satzlänge wird dabei vom [[Dateisystem]] verwaltet oder ist bei Zugriff auf die Datei anzugeben
* Sehr häufig ist die Satzlänge von 80 Zeichen, da diese Anzahl Zeichen bei zeichenorientierten [[Terminal (Computer)|Terminals]] in einer Zeile dargestellt werden kann, was wiederum auf die historischen [[Lochkarte]]n zurückgeht


=== Kennzeichnung mittels Steuerzeichen ===
=== Kennzeichnung mittels Steuerzeichen ===
Die übliche Definition des Zeichens zur Kennzeichnung des Zeilenendes erinnert an die ursprüngliche direkte Datenausgabe von Textdateien auf [[Fernschreiber]]n oder Druckern, die in ihrer Bauart einer [[Schreibmaschine]] entsprachen. Dort waren die „Befehle“ ''[[Wagenrücklauf]]'' (''{{lang|en|Carriage Return}}'', <code>CR</code>) und ''[[Zeilenvorschub]]'' (''{{lang|en|Line Feed}}'', <code>LF</code>) notwendig, um die Fortsetzung der Druckausgabe am Beginn der nächsten Zeile zu veranlassen – bei einem Fernschreiber waren das zwei separate Tasten. Diese beiden Steuerzeichen waren folglich die aussichtsreichsten Kandidaten, um als Markierung des Zeilenendes bei elektronischer Speicherung von Dateien verwendet zu werden. Im Prinzip ist dabei aber ein Zeichen von beiden ausreichend, und diese Wahlmöglichkeit führte dazu, dass die Festlegung uneinheitlich erfolgte, was bis heute eine Komplikation beim systemübergreifenden Austausch von Dateien darstellt:<ref>Sascha Kersken: ''IT-Handbuch für Fachinformatiker.'' Galileo Computing, Bonn 2009, ISBN 978-3-8362-1420-9, S. 779</ref><ref>Sascha Kersken: ''IT-Handbuch für Fachinformatiker.'' Galileo Computing, Bonn 2009, ISBN 978-3-8362-1420-9, S. 824f.</ref>
Die übliche Definition des Zeichens zur Kennzeichnung des Zeilenendes erinnert an die ursprüngliche direkte Datenausgabe von Textdateien auf [[Fernschreiber]]n oder Druckern, die in ihrer Bauart einer [[Schreibmaschine]] entsprachen
* Dort waren die „Befehle“ ''[[Wagenrücklauf]]'' (''{{lang|en|Carriage Return}}'', <code>CR</code>) und ''[[Zeilenvorschub]]'' (''{{lang|en|Line Feed}}'', <code>LF</code>) notwendig, um die Fortsetzung der Druckausgabe am Beginn der nächsten Zeile zu veranlassen – bei einem Fernschreiber waren das zwei separate Tasten
* Diese beiden Steuerzeichen waren folglich die aussichtsreichsten Kandidaten, um als Markierung des Zeilenendes bei elektronischer Speicherung von Dateien verwendet zu werden
* Im Prinzip ist dabei aber ein Zeichen von beiden ausreichend, und diese Wahlmöglichkeit führte dazu, dass die Festlegung uneinheitlich erfolgte, was bis heute eine Komplikation beim systemübergreifenden Austausch von Dateien darstellt


* Hauptsächlich auf der [[Plattform (Computer)|Plattform]] der [[IBM-PC-kompatibler Computer]], unter Betriebssystemen wie [[PC-kompatibles DOS]] oder [[Microsoft Windows|Windows]], wird die Folge von <code>CR</code> und <code>LF</code> (ASCII: zwei Bytes) zur Markierung des Zeilenendes verwendet.
* Hauptsächlich auf der [[Plattform (Computer)|Plattform]] der [[IBM-PC-kompatibler Computer]], unter Betriebssystemen wie [[PC-kompatibles DOS]] oder [[Microsoft Windows|Windows]], wird die Folge von <code>CR</code> und <code>LF</code> (ASCII: zwei Bytes) zur Markierung des Zeilenendes verwendet
* Unter [[Unix]] und [[Unixoides System|Unixartigen]] Betriebssystemen, beispielsweise [[Linux]], wird das Zeilenende alleine mittels <code>LF</code> (ASCII, UTF-8: ein Byte) gekennzeichnet.
* Unter [[Unix]] und [[Unixoides System|Unixartigen]] Betriebssystemen, beispielsweise [[Linux]], wird das Zeilenende alleine mittels <code>LF</code> (ASCII, UTF-8: ein Byte) gekennzeichnet
* Bei älteren Betriebssystemen von [[Apple]], beispielsweise [[Mac OS Classic|System 1 bis Mac&nbsp;OS 9]] (1984–2001) war mit der ausschließlichen Verwendung von <code>CR</code> eine dritte Möglichkeit gebräuchlich.
* Bei älteren Betriebssystemen von [[Apple]], beispielsweise [[Mac OS Classic|System 1 bis Mac&nbsp;OS 9]] (1984–2001) war mit der ausschließlichen Verwendung von <code>CR</code> eine dritte Möglichkeit gebräuchlich
* In der IBM-Großrechnerwelt wird im [[Extended Binary Coded Decimal Interchange Code|EBCDIC]] neben diesen beiden Zeichen noch ein weiteres spezielles Zeichen (''{{lang|en|New Line}}'', <code>NL</code>) verwendet.<ref>[https://www.ibm.com/docs/de/integration-bus/9.0.0?topic=encoding-converting-ebcdic-nl-ascii-cr-lf EBCDIC NL in ASCII CR LF konvertieren.] IBM Integration Bus, ibm.com; abgerufen am 22.&nbsp;Oktober 2022</ref>
* In der IBM-Großrechnerwelt wird im [[Extended Binary Coded Decimal Interchange Code|EBCDIC]] neben diesen beiden Zeichen noch ein weiteres spezielles Zeichen (''{{lang|en|New Line}}'', <code>NL</code>) verwendet


Die diesbezüglich meisten Probleme entstehen beim Austausch von Dateien, häufig z.&nbsp;B. zwischen der Windows- und Unix-Plattform, da diese über weite Bereiche denselben Zeichencode verwenden und mit Ausnahme des Zeilenende-Zeichens im Regelfall keine Konvertierung der Dateien erforderlich ist.
Die diesbezüglich meisten Probleme entstehen beim Austausch von Dateien, häufig z.&nbsp;B
* zwischen der Windows- und Unix-Plattform, da diese über weite Bereiche denselben Zeichencode verwenden und mit Ausnahme des Zeilenende-Zeichens im Regelfall keine Konvertierung der Dateien erforderlich ist


== Weitere Steuerzeichen ==
== Weitere Steuerzeichen ==
Neben der Kennzeichnung des Zeilenendes können insbesondere bei Verwendung des ASCII in Textdateien weitere Steuerzeichen auftreten. Diese waren vor allem üblich, als der Inhalt der Textdateien noch direkt zum Terminal oder Drucker übertragen wurde. Die wichtigsten dabei sind das Zeichen <code>Form Feed</code> (FF), das die Position eines Seitenwechsels im Text markiert, und <code>Horizontal Tabulation</code> (HT), das [[Tabulatorzeichen]], das eine Einrückung des Textes kennzeichnet.
Neben der Kennzeichnung des Zeilenendes können insbesondere bei Verwendung des ASCII in Textdateien weitere Steuerzeichen auftreten
* Diese waren vor allem üblich, als der Inhalt der Textdateien noch direkt zum Terminal oder Drucker übertragen wurde
* Die wichtigsten dabei sind das Zeichen <code>Form Feed</code> (FF), das die Position eines Seitenwechsels im Text markiert, und <code>Horizontal Tabulation</code> (HT), das [[Tabulatorzeichen]], das eine Einrückung des Textes kennzeichnet


Um die Darstellung des Textes noch differenzierter beeinflussen zu können, wurden in Verbindung mit Textdateien teilweise [[Escape-Sequenz]]en verwendet. Sie bestehen aus dem einleitenden Steuerzeichen <code>Escape</code> (ESC) und einer Folge weiterer Zeichen, die eine Darstellungsanweisung codieren. Der sich hierbei etablierte Standard sind [[ANSI-Escapesequenz]]en nach [[American National Standards Institute|ANSI]] X3.41-1974 und X3.64-1977, die ursprünglich zur Ansteuerung von [[Terminal (Computer)|Terminals]] wie den [[VT100|VT-Modellen]] von [[Digital Equipment Corporation|DEC]] entwickelt wurden.<ref>[https://vt100.net/docs/vt100-ug/ Manual für VT100-Terminal.] vt100.net (englisch)</ref> Beim Drucken war zur Zeit der [[Nadeldrucker]] der von [[Epson]] eingeführte Standard [[ESC/P]] weit verbreitet, so dass derartige Escape-Sequenzen auch in Textdateien zu finden waren.
Um die Darstellung des Textes noch differenzierter beeinflussen zu können, wurden in Verbindung mit Textdateien teilweise [[Escape-Sequenz]]en verwendet
* Sie bestehen aus dem einleitenden Steuerzeichen <code>Escape</code> (ESC) und einer Folge weiterer Zeichen, die eine Darstellungsanweisung codieren
* Der sich hierbei etablierte Standard sind [[ANSI-Escapesequenz]]en nach [[American National Standards Institute|ANSI]] X3.41-1974 und X3.64-1977, die ursprünglich zur Ansteuerung von [[Terminal (Computer)|Terminals]] wie den [[VT100|VT-Modellen]] von [[Digital Equipment Corporation|DEC]] entwickelt wurden
* Beim Drucken war zur Zeit der [[Nadeldrucker]] der von [[Epson]] eingeführte Standard [[ESC/P]] weit verbreitet, so dass derartige Escape-Sequenzen auch in Textdateien zu finden waren


== Zeichencodierung ==
== Zeichencodierung ==
Der bei Textdateien physisch binär vorliegende Inhalt wird nach einer für die jeweilige Datei fest vorgegebenen Regel in Text umgewandelt. Dabei sind folgende [[Zeichenkodierung|Zeichencodierungen]] gebräuchlich:
Der bei Textdateien physisch binär vorliegende Inhalt wird nach einer für die jeweilige Datei fest vorgegebenen Regel in Text umgewandelt
* [[American Standard Code for Information Interchange|ASCII]] stellt das am weitesten verbreitete Format dar&nbsp;– insbesondere, wenn die diversen Erweiterungen des Standards einbezogen werden.
* Dabei sind folgende [[Zeichenkodierung|Zeichencodierungen]] gebräuchlich
* [[ISO 8859-1]] (auch bekannt als ''Latin-1'') und [[ISO 8859-15]] sind standardisierte Erweiterungen des ASCII, die die Grundlage des bei [[Microsoft Windows|Windows]] im englischen und westeuropäischen Sprachraum verwendeten Codes [[Windows-1252]] bilden.
* [[American Standard Code for Information Interchange|ASCII]] stellt das am weitesten verbreitete Format dar&nbsp;– insbesondere, wenn die diversen Erweiterungen des Standards einbezogen werden
* [[Extended Binary Coded Decimal Interchange Code|EBCDIC]] ist eine auf [[Großrechner]]n von [[IBM]] gebräuchliche Codierung.
* [[ISO 8859-1]] (auch bekannt als ''Latin-1'') und [[ISO 8859-15]] sind standardisierte Erweiterungen des ASCII, die die Grundlage des bei [[Microsoft Windows|Windows]] im englischen und westeuropäischen Sprachraum verwendeten Codes [[Windows-1252]] bilden
* [[Unicode]] ist ein internationaler Standard, der weltweit alle sinntragenden Zeichen abbildet. Im Gegensatz zu obigen Codierungen kommt Unicode dabei nicht mit 8&nbsp;Bit (das heißt einem [[Byte]]) aus, da Unicode weit mehr als 256 verschiedene Zeichen definiert.
* [[Extended Binary Coded Decimal Interchange Code|EBCDIC]] ist eine auf [[Großrechner]]n von [[IBM]] gebräuchliche Codierung
* [[Unicode]] ist ein internationaler Standard, der weltweit alle sinntragenden Zeichen abbildet
* Im Gegensatz zu obigen Codierungen kommt Unicode dabei nicht mit 8&nbsp;Bit (das heißt einem [[Byte]]) aus, da Unicode weit mehr als 256 verschiedene Zeichen definiert


Bei der Verwendung von Unicode ist die generelle Umsetzung eines Zeichens in ein Byte nicht anwendbar. Es gibt unterschiedliche Verfahren, Unicode in eine Bytefolge umzusetzen. Am meisten verwendet werden hierbei Codierungen mit dem Ziel, die Dateigröße bei Auftreten der gebräuchlichsten Zeichen zu minimieren. Hierfür wird allerdings die Regel „geopfert“, dass jedes Zeichen immer mit derselben Anzahl Bytes codiert wird. Ein Beispiel hierfür ist die verbreitete Codierung [[UTF-8]],<ref name="Schoenitzer">Michael Schönitzer: [https://www.schoenitzer.de/encoding.html ''Encodings''.] schoenitzer.de</ref> die zudem die Besonderheit aufweist, dass alle im ursprünglichen ASCII enthaltenen Zeichen genau auf die gleiche Weise wie bei ASCII in einem Byte codiert werden. Der binäre Inhalt einer Datei, die ausschließlich aus solchen Zeichen besteht, ist also identisch, unabhängig davon, ob sie in ASCII oder UTF-8 codiert wurde.
Bei der Verwendung von Unicode ist die generelle Umsetzung eines Zeichens in ein Byte nicht anwendbar
* Es gibt unterschiedliche Verfahren, Unicode in eine Bytefolge umzusetzen
* Am meisten verwendet werden hierbei Codierungen mit dem Ziel, die Dateigröße bei Auftreten der gebräuchlichsten Zeichen zu minimieren
* Hierfür wird allerdings die Regel „geopfert“, dass jedes Zeichen immer mit derselben Anzahl Bytes codiert wird
* Ein Beispiel hierfür ist die verbreitete Codierung [[UTF-8]], die zudem die Besonderheit aufweist, dass alle im ursprünglichen ASCII enthaltenen Zeichen genau auf die gleiche Weise wie bei ASCII in einem Byte codiert werden
* Der binäre Inhalt einer Datei, die ausschließlich aus solchen Zeichen besteht, ist also identisch, unabhängig davon, ob sie in ASCII oder UTF-8 codiert wurde


[[Datei:Code Mismatch DE.svg|mini|hochkant=1.4|alt=Text bei dem Umlaute und das Eszett falsch (als Sonderzeichen) dargestellt werden|Fehlerhafte Darstellung bei Verwendung der falschen Codierung]]
[[Datei:Code Mismatch DE.svg|mini|hochkant=1.4|alt=Text bei dem Umlaute und das Eszett falsch (als Sonderzeichen) dargestellt werden|Fehlerhafte Darstellung bei Verwendung der falschen Codierung]]
Bei Unicode existiert zudem die Konvention, am Beginn einer Datei mittels spezieller Bytefolgen (sogenannte ''[[Byte Order Mark]]s'') kenntlich zu machen, welche Unicode-Codierung verwendet wird. Dies ist auch deshalb nötig, da auf vielen Systemen – auch unter Windows – die bisherige auf ASCII basierende Codierung und Unicode parallel verwendet werden. Bei einer solchen Codierung beginnt die Grenze zur Binärdatei zu verschwimmen.
Bei Unicode existiert zudem die Konvention, am Beginn einer Datei mittels spezieller Bytefolgen (sogenannte ''[[Byte Order Mark]]s'') kenntlich zu machen, welche Unicode-Codierung verwendet wird
* Dies ist auch deshalb nötig, da auf vielen Systemen – auch unter Windows – die bisherige auf ASCII basierende Codierung und Unicode parallel verwendet werden
* Bei einer solchen Codierung beginnt die Grenze zur Binärdatei zu verschwimmen


Wird eine Textdatei unter Verwendung einer falschen Zeichencodierung interpretiert, kann sie gänzlich unlesbar sein, wenn vollständig inkompatible Codierungen verwendet werden – wie beispielsweise ASCII und EBCDIC. Wird hingegen eine abweichende, aus dem ursprünglichen ASCII abgeleitete Codierung verwendet, werden lediglich die Sonderzeichen –&nbsp;beispielsweise die deutschen [[Umlaut]]e&nbsp;– falsch dargestellt, da diese nicht Bestandteil der ersten 128 standardisierten Zeichen des ASCII sind.
Wird eine Textdatei unter Verwendung einer falschen Zeichencodierung interpretiert, kann sie gänzlich unlesbar sein, wenn vollständig inkompatible Codierungen verwendet werden – wie beispielsweise ASCII und EBCDIC
* Wird hingegen eine abweichende, aus dem ursprünglichen ASCII abgeleitete Codierung verwendet, werden lediglich die Sonderzeichen –&nbsp;beispielsweise die deutschen [[Umlaut]]e&nbsp;– falsch dargestellt, da diese nicht Bestandteil der ersten 128 standardisierten Zeichen des ASCII sind


== Austausch zwischen unterschiedlichen Systemen ==
== Austausch zwischen unterschiedlichen Systemen ==
Wenn Textdateien von einem System auf ein System anderen Typs übertragen werden, muss berücksichtigt werden, ob die durch die Systeme verwendeten Zeichencodierungen übereinstimmen. Weiterhin ist das zur Kennzeichnung des Zeilenendes verwendete Verfahren zu berücksichtigen (siehe [[#Kennzeichnung mittels Steuerzeichen|oben]]). Der Austausch von Dateien, die nur die ersten 128 Zeichen des ASCII verwenden, ist auf Systemen, die diese oder eine daraus abgeleitete Codierung verwenden, meist recht problemlos. Auch die Unicode-Codierung UTF-8 stimmt bei ausschließlicher Verwendung dieser Zeichen exakt mit ASCII überein. Werden hingegen weitere Zeichen verwendet, ist oft eine Konvertierung erforderlich. Zu beachten ist allerdings, dass eine Konvertierung nur dann durchzuführen ist, wenn die Datei auf dem Zielsystem selbst auch angezeigt wird. Wird die Datei auf diesem System nur gespeichert und zur Anzeige wieder auf ein System übertragen, das die ursprüngliche Codierung verwendet, wäre eine Konvertierung unnötig und möglicherweise sogar schädlich, da durch diese doppelte Konvertierung Information verloren gehen kann.
Wenn Textdateien von einem System auf ein System anderen Typs übertragen werden, muss berücksichtigt werden, ob die durch die Systeme verwendeten Zeichencodierungen übereinstimmen
* Weiterhin ist das zur Kennzeichnung des Zeilenendes verwendete Verfahren zu berücksichtigen (siehe [[#Kennzeichnung mittels Steuerzeichen|oben]])
* Der Austausch von Dateien, die nur die ersten 128 Zeichen des ASCII verwenden, ist auf Systemen, die diese oder eine daraus abgeleitete Codierung verwenden, meist recht problemlos
* Auch die Unicode-Codierung UTF-8 stimmt bei ausschließlicher Verwendung dieser Zeichen exakt mit ASCII überein
* Werden hingegen weitere Zeichen verwendet, ist oft eine Konvertierung erforderlich
* Zu beachten ist allerdings, dass eine Konvertierung nur dann durchzuführen ist, wenn die Datei auf dem Zielsystem selbst auch angezeigt wird
* Wird die Datei auf diesem System nur gespeichert und zur Anzeige wieder auf ein System übertragen, das die ursprüngliche Codierung verwendet, wäre eine Konvertierung unnötig und möglicherweise sogar schädlich, da durch diese doppelte Konvertierung Information verloren gehen kann


Beim Austausch von Textdateien als Anhang einer [[E-Mail]] können Unstimmigkeiten auftreten. Das Problem liegt dabei meist beim Absender, da dessen [[Mail-Client]] häufig die Codierung der Textdatei nicht korrekt ermitteln kann, vom Benutzer aber diese Angabe aus Gründen der Benutzerfreundlichkeit nicht fordert und so keine entsprechende oder eine falsche Information in die Mail einträgt. Im Prinzip sind die meisten heute gebräuchlichen Mail-Clients in der Lage, die Codierung im Bedarfsfall zu konvertieren.
Beim Austausch von Textdateien als Anhang einer [[E-Mail]] können Unstimmigkeiten auftreten
* Das Problem liegt dabei meist beim Absender, da dessen [[Mail-Client]] häufig die Codierung der Textdatei nicht korrekt ermitteln kann, vom Benutzer aber diese Angabe aus Gründen der Benutzerfreundlichkeit nicht fordert und so keine entsprechende oder eine falsche Information in die Mail einträgt
* Im Prinzip sind die meisten heute gebräuchlichen Mail-Clients in der Lage, die Codierung im Bedarfsfall zu konvertieren


Bei einer direkten Dateiübertragung ''(File Transfer)'' zwischen Systemen wird meist ein spezielles [[Computerprogramm|Programm]] zur Übertragung verwendet. Dieses übernimmt auch die notwendigen Konvertierungen, auch wenn die Codierungen beider Systeme gänzlich unterschiedlich sind – wie beispielsweise beim Austausch zwischen Windows und IBM-Großrechnern. Bei einer Übertragung muss im Regelfall angegeben werden, ob es sich bei der zu übertragenden Datei um eine Text- oder Binärdatei handelt, um festzulegen, ob eine Konvertierung der Datei erfolgen soll oder zu unterlassen ist – der Inhalt einer Binärdatei würde durch eine solche Konvertierung zerstört.<ref>{{RFC-Internet |RFC=959 |Titel=File Transfer Protocol |Datum=}}</ref>
Bei einer direkten Dateiübertragung ''(File Transfer)'' zwischen Systemen wird meist ein spezielles [[Computerprogramm|Programm]] zur Übertragung verwendet
* Dieses übernimmt auch die notwendigen Konvertierungen, auch wenn die Codierungen beider Systeme gänzlich unterschiedlich sind – wie beispielsweise beim Austausch zwischen Windows und IBM-Großrechnern
* Bei einer Übertragung muss im Regelfall angegeben werden, ob es sich bei der zu übertragenden Datei um eine Text- oder Binärdatei handelt, um festzulegen, ob eine Konvertierung der Datei erfolgen soll oder zu unterlassen ist – der Inhalt einer Binärdatei würde durch eine solche Konvertierung zerstört


== Verwendung von Textdateien ==
== Verwendung von Textdateien ==
Der ursprüngliche und einfachste Verwendungsfall von Textdateien ist die Übermittlung des enthaltenen Textes als eigentliche Information ({{enS|[[Plain text]]}}). Textdateien können aber unter Anwendung eines im Vorhinein festzulegenden formalen Aufbaus dazu genutzt werden, komplexere Daten zu übermitteln. Die Datei ist dann meist nicht mehr primär für die direkte Nutzung durch den [[Endbenutzer|Anwender]] gedacht, sondern wird durch ein bestimmtes Programm weiterverarbeitet oder durch einen [[Systemadministrator]] gepflegt.
Der ursprüngliche und einfachste Verwendungsfall von Textdateien ist die Übermittlung des enthaltenen Textes als eigentliche Information ({{enS|[[Plain text]]}})
* Textdateien können aber unter Anwendung eines im Vorhinein festzulegenden formalen Aufbaus dazu genutzt werden, komplexere Daten zu übermitteln
* Die Datei ist dann meist nicht mehr primär für die direkte Nutzung durch den [[Endbenutzer|Anwender]] gedacht, sondern wird durch ein bestimmtes Programm weiterverarbeitet oder durch einen [[Systemadministrator]] gepflegt


In vielen Fällen werden auf diese Weise heute Textdateien genutzt, in denen eigentlich Binärdateien prädestiniert erscheinen, weil nur eine maschinelle Weiterverarbeitung erfolgt. Der ausschlaggebende Nachteil der Binärdateien hier ist, dass deren Struktur über Systemgrenzen hinweg noch weit inhomogener als die von Textdateien ist (siehe beispielsweise [[Byte-Reihenfolge]]). Dafür haben Textdateien den Nachteil, dass zur Speicherung derselben Information mehr Speicherplatz erforderlich ist und dass die Daten vielfach bei einer Weiterverarbeitung erst wieder ins binäre Format konvertiert werden müssen. Da aber –&nbsp;vor allem durch das [[Internet]]&nbsp;– der systemübergreifende Austausch von Daten immer bedeutender geworden ist, ist eine Datenspeicherung in Textdateien heute vielfach üblich.
In vielen Fällen werden auf diese Weise heute Textdateien genutzt, in denen eigentlich Binärdateien prädestiniert erscheinen, weil nur eine maschinelle Weiterverarbeitung erfolgt
* Der ausschlaggebende Nachteil der Binärdateien hier ist, dass deren Struktur über Systemgrenzen hinweg noch weit inhomogener als die von Textdateien ist (siehe beispielsweise [[Byte-Reihenfolge]])
* Dafür haben Textdateien den Nachteil, dass zur Speicherung derselben Information mehr Speicherplatz erforderlich ist und dass die Daten vielfach bei einer Weiterverarbeitung erst wieder ins binäre Format konvertiert werden müssen
* Da aber –&nbsp;vor allem durch das [[Internet]]&nbsp;– der systemübergreifende Austausch von Daten immer bedeutender geworden ist, ist eine Datenspeicherung in Textdateien heute vielfach üblich


Auch für durch Administratoren oder privilegierte Benutzer zu pflegende [[Konfigurationsdatei]]en wird häufig das Textformat verwendet. Bei einem binären Format wäre jeweils ein spezielles Konfigurationsprogramm erforderlich, bei Verwendung des Textformats kann die Konfigurationsdatei direkt mittels eines [[Texteditor]]s bearbeitet werden.
Auch für durch Administratoren oder privilegierte Benutzer zu pflegende [[Konfigurationsdatei]]en wird häufig das Textformat verwendet
* Bei einem binären Format wäre jeweils ein spezielles Konfigurationsprogramm erforderlich, bei Verwendung des Textformats kann die Konfigurationsdatei direkt mittels eines [[Texteditor]]s bearbeitet werden


=== Tabellarische Daten ===
=== Tabellarische Daten ===
Textdateien werden aus verschiedenen Gründen zur Speicherung von Daten mit tabellarischer Struktur verwendet. So strukturierte Dateien können mit einem [[Tabellenkalkulation]]sprogramm (beispielsweise ''Calc'' aus den Paketen [[LibreOffice]] und [[Apache OpenOffice]] oder [[Microsoft Excel]]) weiterverarbeitet werden. [[Datenbanksystem|Datenbankdaten]] werden häufig auf diese Weise [[Datenaustausch#Elektronische Verfahren|exportiert]], um diese zwischen meist unterschiedlichen [[Anwendungsprogramm]]en auszutauschen&nbsp;– auch wenn heute das XML-Format für einen solchen Fall prädestiniert erscheint.
Textdateien werden aus verschiedenen Gründen zur Speicherung von Daten mit tabellarischer Struktur verwendet
* So strukturierte Dateien können mit einem [[Tabellenkalkulation]]sprogramm (beispielsweise ''Calc'' aus den Paketen [[LibreOffice]] und [[Apache OpenOffice]] oder [[Microsoft Excel]]) weiterverarbeitet werden. [[Datenbanksystem|Datenbankdaten]] werden häufig auf diese Weise [[Datenaustausch#Elektronische Verfahren|exportiert]], um diese zwischen meist unterschiedlichen [[Anwendungsprogramm]]en auszutauschen&nbsp;– auch wenn heute das XML-Format für einen solchen Fall prädestiniert erscheint


Es gibt verschiedene Verfahren zur tabellarischen Anordnung der Daten in Textdateien, von denen die folgenden die gebräuchlichsten sind:
Es gibt verschiedene Verfahren zur tabellarischen Anordnung der Daten in Textdateien, von denen die folgenden die gebräuchlichsten sind
* Trennung der Spalten durch Tabulator: Das Tabulatorzeichen, ein spezielles Steuerzeichen, wird innerhalb einer Zeile zur Kennzeichnung der Spaltengrenzen verwendet.
* Trennung der Spalten durch Tabulator: Das Tabulatorzeichen, ein spezielles Steuerzeichen, wird innerhalb einer Zeile zur Kennzeichnung der Spaltengrenzen verwendet
* [[CSV (Dateiformat)|CSV-Format]]: Dieses Format, das ursprünglich ''{{lang|en|Comma Separated Values}}'' bedeutete, ist ähnlich der Trennung durch Tabulatorzeichen, nur wird in der Regel im englischen Sprachraum eben das [[Komma]], im deutschen aber der [[Strichpunkt]] als Trennzeichen verwendet.
* [[CSV (Dateiformat)|CSV-Format]]: Dieses Format, das ursprünglich ''{{lang|en|Comma Separated Values}}'' bedeutete, ist ähnlich der Trennung durch Tabulatorzeichen, nur wird in der Regel im englischen Sprachraum eben das [[Komma]], im deutschen aber der [[Strichpunkt]] als Trennzeichen verwendet
* Festlegung einer konstanten Anzahl Zeichen pro Spalte: Um eine solche Datei verwenden zu können, muss bekannt sein, welche Breite jede einzelne Spalte hat. Diese Definition wird selbst nicht in der Datei gespeichert.
* Festlegung einer konstanten Anzahl Zeichen pro Spalte: Um eine solche Datei verwenden zu können, muss bekannt sein, welche Breite jede einzelne Spalte hat
* Diese Definition wird selbst nicht in der Datei gespeichert


=== XML ===
=== XML ===
[[Extensible Markup Language|XML]] ''(Extensible Markup Language)'' ist ein [[Metaebene|Meta]]-[[Dateiformat]]. Es definiert also, in welchem Format definiert<!-- dieses doppelte „definiert“ ist Absicht--> wird, wie die Struktur einer Datei aussieht.<ref>Sarah Coppin, Brent Hendricks: [https://cnx.org/contents/y48G-dHz@25/XML-Basics ''XML Basics''.] cnx.org</ref> XML ist dabei bewusst ein Textformat und soll für Mensch und Maschine gleichermaßen lesbar sein, auch soll ein systemübergreifender Austausch von XML-Daten problemlos ermöglicht werden.<ref>Mario Jeckle: {{Webarchiv |url=http://www.jeckle.de/vorlesung/xml/index.html |text=''Extensible Markup Language (XML)''. |wayback=20071221234650}} jeckle.de</ref>
[[Extensible Markup Language|XML]] ''(Extensible Markup Language)'' ist ein [[Metaebene|Meta]]-[[Dateiformat]]
* Es definiert also, in welchem Format definiert<!-- dieses doppelte „definiert“ ist Absicht--> wird, wie die Struktur einer Datei aussieht
 
XML ist dabei bewusst ein Textformat und soll für Mensch und Maschine gleichermaßen lesbar sein, auch soll ein systemübergreifender Austausch von XML-Daten problemlos ermöglicht werden


XML-Dateien sind also grundsätzlich Textdateien, deren grobe Strukturierung standardisiert ist und die vor allem zum Datenaustausch oder zur Datenspeicherung verwendet werden&nbsp;– der genaue Verwendungszweck wird von XML selbst nicht vorgegeben. Ein Beispiel für ein auf XML basierendes Format ist [[Scalable Vector Graphics|SVG]] ''({{lang|en|Scalable Vector Graphics}})'', ein [[Vektorgrafik|Grafikformat]], das somit im Prinzip lesbar in einer Textdatei codiert ist.
XML-Dateien sind also grundsätzlich Textdateien, deren grobe Strukturierung standardisiert ist und die vor allem zum Datenaustausch oder zur Datenspeicherung verwendet werden&nbsp;– der genaue Verwendungszweck wird von XML selbst nicht vorgegeben
* Ein Beispiel für ein auf XML basierendes Format ist [[Scalable Vector Graphics|SVG]] ''({{lang|en|Scalable Vector Graphics}})'', ein [[Vektorgrafik|Grafikformat]], das somit im Prinzip lesbar in einer Textdatei codiert ist


Die Dateiformate der Textverarbeitungen [[OpenDocument]] ([[OpenOffice.org]]) und [[Office Open XML]] (der neueren Versionen von [[Microsoft Word]], erkennbar an der Dateierweiterung <code>.docx</code> statt <code>.doc</code>) basieren auf XML, und die gespeicherten Dateien sind demzufolge Textdateien. Dabei ist aber zu beachten, dass der „Text“, der bei direkter Bearbeitung einer solchen Datei sichtbar wird, nicht der „eigentliche“ Textinhalt des Dokuments ist, sondern die Beschreibung des Textdokuments auf einer [[Metaebene]].<ref>Walter Ditch: [https://www.jisc.ac.uk/media/documents/techwatch/tsw0702pdf.pdf ''XML-based Office Document Standards.''] (PDF; 1,5&nbsp;MB) JISC, Bristol 2007</ref>
Die Dateiformate der Textverarbeitungen [[OpenDocument]] ([[OpenOffice.org]]) und [[Office Open XML]] (der neueren Versionen von [[Microsoft Word]], erkennbar an der Dateierweiterung <code>.docx</code> statt <code>.doc</code>) basieren auf XML, und die gespeicherten Dateien sind demzufolge Textdateien
* Dabei ist aber zu beachten, dass der „Text“, der bei direkter Bearbeitung einer solchen Datei sichtbar wird, nicht der „eigentliche“ Textinhalt des Dokuments ist, sondern die Beschreibung des Textdokuments auf einer [[Metaebene]]


=== Weitere Dateiformate ===
=== Weitere Dateiformate ===
Neben XML-Formaten existieren noch einige meist ältere, recht weit verbreitete [[Auszeichnungssprache]]n, die häufig verwendet und in Form einer Textdatei gespeichert werden.<ref>Sascha Kersken: ''IT-Handbuch für Fachinformatiker.'' Galileo Computing, Bonn 2009, ISBN 978-3-8362-1420-9, S. 823.</ref>
Neben XML-Formaten existieren noch einige meist ältere, recht weit verbreitete [[Auszeichnungssprache]]n, die häufig verwendet und in Form einer Textdatei gespeichert werden
 
Das Dateiformat definiert unter anderem Zugehörigkeit, Aufgabe und Klasse der Datei ([[Betriebssystem]]datei oder [[Videodatei]] usw.)
 
In welchem Dateiformat eine Datei gespeichert wurde, lässt sich an ihrer [[Dateinamenserweiterung]] erkennen (etwa „*[[.exe]]“ für ein [[Computerprogramm #Übersetzung und Ausführung|ausführbares Computerprogramm]] oder „*[[.wmv]]“ für ein [[Windows Metafile]])
* Die wichtigsten Dateiformate für Textdateien sind


Das Dateiformat definiert unter anderem Zugehörigkeit, Aufgabe und Klasse der Datei ([[Betriebssystem]]datei oder [[Videodatei]] usw.).<ref>Peter Winkler: ''Computer-Lexikon 2010''. 2009, [https://www.google.de/books/edition/Computer_Lexikon_2010/M-cpkLjNYjYC?hl=de&gbpv=1&dq=dateiinhalt+dateiformat&pg=PA211&printsec=frontcover S. 211.]</ref> In welchem Dateiformat eine Datei gespeichert wurde, lässt sich an ihrer [[Dateinamenserweiterung]] erkennen (etwa „*[[.exe]]“ für ein [[Computerprogramm #Übersetzung und Ausführung|ausführbares Computerprogramm]] oder „*[[.wmv]]“ für ein [[Windows Metafile]]). Die wichtigsten Dateiformate für Textdateien sind:<ref>Hardy Seifert, Marco Bettner, Markus Betschelt: ''E-Learning in der Sekundarstufe I'', 2021, [https://www.google.de/books/edition/E_Learning_in_der_Sekundarstufe_I/zT54EAAAQBAJ?hl=de&gbpv=1&dq=textdatei+dateiformate&pg=PA10&printsec=frontcover S. 10 f.]</ref>


{| class="wikitable" style="padding:1em; vertical-align:top; border:2px;"
{| class="wikitable" style="padding:1em; vertical-align:top; border:2px;"
Zeile 131: Zeile 213:
| [[.pages|*.pages]]
| [[.pages|*.pages]]
|-
|-
| [[Portable Document Format]]<ref>PDF speichert [[Text]]e, [[Rastergrafik|Bilder]] und [[Vektorgrafik|Grafiken]]</ref>
| [[Portable Document Format]]
| [[.pdf|*.pdf]]
| [[.pdf|*.pdf]]
|-
|-
Zeile 144: Zeile 226:
|}
|}


* [[Hypertext Markup Language|HTML]], die Sprache zur Gestaltung von Inhalten im [[World Wide Web]], ist von der Struktur her verwandt mit XML.
* [[Hypertext Markup Language|HTML]], die Sprache zur Gestaltung von Inhalten im [[World Wide Web]], ist von der Struktur her verwandt mit XML
* [[Rich Text Format]] (RTF) ist eine Sprache zum Austausch von formatiertem Text zwischen [[Textverarbeitung]]sprogrammen, auch auf unterschiedlichen Plattformen.
* [[Rich Text Format]] (RTF) ist eine Sprache zum Austausch von formatiertem Text zwischen [[Textverarbeitung]]sprogrammen, auch auf unterschiedlichen Plattformen
* [[TeX]] und [[LaTeX]] stellen ein [[Textsatzsystem]] dar, das zur Textgestaltung eine spezielle Sprache verwendet, die in Textdateien codiert wird.
* [[TeX]] und [[LaTeX]] stellen ein [[Textsatzsystem]] dar, das zur Textgestaltung eine spezielle Sprache verwendet, die in Textdateien codiert wird
* [[PostScript]] ist ein Dateiformat, das professionelle Druckformatierungen ermöglicht und in Form einer Textdatei gespeichert wird. Die Binärdaten enthaltener Grafiken werden als [[Hexadezimalsystem|hexadezimale]] Ziffern in Text umgesetzt. Da viele Drucker dieses Format direkt interpretieren können, geben viele Textverarbeitungs- oder [[Desktop-Publishing]]-Programme ihre Ergebnisse im PostScript-Format aus. PostScript wird allerdings in einigen Bereichen von [[Portable Document Format|PDF]] verdrängt.
* [[PostScript]] ist ein Dateiformat, das professionelle Druckformatierungen ermöglicht und in Form einer Textdatei gespeichert wird
* Die Binärdaten enthaltener Grafiken werden als [[Hexadezimalsystem|hexadezimale]] Ziffern in Text umgesetzt
* Da viele Drucker dieses Format direkt interpretieren können, geben viele Textverarbeitungs- oder [[Desktop-Publishing]]-Programme ihre Ergebnisse im PostScript-Format aus
* PostScript wird allerdings in einigen Bereichen von [[Portable Document Format|PDF]] verdrängt


Daneben existieren noch viele weitere und auch [[proprietär]]e Formate, deren Aufbau sich nur bei Verfügbarkeit einer entsprechenden [[Spezifikation]] erschließt.
Daneben existieren noch viele weitere und auch [[proprietär]]e Formate, deren Aufbau sich nur bei Verfügbarkeit einer entsprechenden [[Spezifikation]] erschließt


== Nutzung ==
== Nutzung ==
'''Speichern'''<br />
'''Speichern'''<br />
Das ''Speichern'' einer Textdatei geschieht mit Hilfe eines [[Datenspeicher]]s, der ein bestimmtes Dateiformat unterstützt. Dazu wird das [[Menü (Computer)|Menü]] „Speichern“ ausgewählt, das für die Speicherung sorgt.<ref>Martin Evening: ''Adobe Photoshop für Fotografen'', 2006, [https://www.google.de/books/edition/Adobe_Photoshop_f%C3%BCr_Fotografen/6x2V6yVpqKoC?hl=de&gbpv=1&dq=Speichern+einer+datei&pg=PA30&printsec=frontcover S. 20]</ref> Moderne [[Betriebssystem]]e ordnen über das Dateiformat [[Anwendungssoftware|Anwendungen]] zu, welche die Dateien interpretieren können.
Das ''Speichern'' einer Textdatei geschieht mit Hilfe eines [[Datenspeicher]]s, der ein bestimmtes Dateiformat unterstützt
* Dazu wird das [[Menü (Computer)|Menü]] „Speichern“ ausgewählt, das für die Speicherung sorgt
* Moderne [[Betriebssystem]]e ordnen über das Dateiformat [[Anwendungssoftware|Anwendungen]] zu, welche die Dateien interpretieren können


'''Lesen und Bearbeiten'''<br />
'''Lesen und Bearbeiten'''<br />
Unter [[Unixoides System|unixoiden Betriebssystemen]] erkennt das Programm bzw. die Bibliothek [[file]], ob es sich um eine für die textuelle Bearbeitung geeignete Datei handelt, unabhängig von der [[Dateinamenserweiterung]]. Unter [[Microsoft Windows|Windows]] und im Vorläufersystem [[MS-DOS]] (beide von [[Microsoft]]) dienen die [[Liste von Kommandozeilenbefehlen (DOS)|Kommandozeilenbefehle]] <code>TYPE</code> und <code>[[more (Kommandozeilenbefehl)|MORE]]</code> der Anzeige von Textdateien. Unter allen Betriebssystemen gibt es [[Texteditor]]en zur direkten Anzeige und Bearbeitung von Textdateien auf der [[Kommandozeile]], beispielsweise [[less (Unix)|less]], [[ed (Texteditor)|ed]], [[vi]] oder [[Nano (Texteditor)|Nano]] unter unixoiden Betriebssystemewn. Dabei ermöglichen praktisch alle Texteditoren, in einer Datei direkt nach speziellen Textinhalten zu suchen. Viele, insbesondere grafische, Texteditoren bieten auch eine Unterstützung bei der Darstellung spezieller Dateiformate, so werden verschiedene [[Syntax]]elemente entsprechend ihrer Bedeutung [[Syntaxhervorhebung|hervorgehoben]] (beispielsweise durch Einfärbungen). Mithilfe eines Texteditors kann eine Datei im Regelfall auch [[Drucker (Gerät)|gedruckt]] werden.
Unter [[Unixoides System|unixoiden Betriebssystemen]] erkennt das Programm bzw.&nbsp;die Bibliothek [[file]], ob es sich um eine für die textuelle Bearbeitung geeignete Datei handelt, unabhängig von der [[Dateinamenserweiterung]]
* Unter [[Microsoft Windows|Windows]] und im Vorläufersystem [[MS-DOS]] (beide von [[Microsoft]]) dienen die [[Liste von Kommandozeilenbefehlen (DOS)|Kommandozeilenbefehle]] <code>TYPE</code> und <code>[[more (Kommandozeilenbefehl)|MORE]]</code> der Anzeige von Textdateien
* Unter allen Betriebssystemen gibt es [[Texteditor]]en zur direkten Anzeige und Bearbeitung von Textdateien auf der [[Kommandozeile]], beispielsweise [[less (Unix)|less]], [[ed (Texteditor)|ed]], [[vi]] oder [[Nano (Texteditor)|Nano]] unter unixoiden Betriebssystemewn
* Dabei ermöglichen praktisch alle Texteditoren, in einer Datei direkt nach speziellen Textinhalten zu suchen
* Viele, insbesondere grafische, Texteditoren bieten auch eine Unterstützung bei der Darstellung spezieller Dateiformate, so werden verschiedene [[Syntax]]elemente entsprechend ihrer Bedeutung [[Syntaxhervorhebung|hervorgehoben]] (beispielsweise durch Einfärbungen)
* Mithilfe eines Texteditors kann eine Datei im Regelfall auch [[Drucker (Gerät)|gedruckt]] werden


Die Bearbeitung in einem grafischen Texteditor erfolgt durch Aufruf des [[Menü (Computer)|Menüs]] „Öffnen“. Durch Suchen und Ersetzen lässt sich die zu ändernde Passage finden; der gesamte Dateiinhalt kann verändert werden. Sowohl bei der Anzeige in einem Texteditor als auch beim Ausdrucken kann das Problem auftreten, dass die Einrückung von Zeilen nicht korrekt dargestellt wird. Dies liegt meist daran, dass in der Datei das [[Tabulatorzeichen]] enthalten ist, für das nicht einheitlich definiert ist, wie weit die Einrückung erfolgen soll. Um wie viele Zeichen eingerückt wird, ist deshalb eine [[Konfiguration (Computer)|Konfigurationsinformation]] des Editors oder Druckers. Erschwerend kommt hinzu, dass bei der Anzeige im Texteditor der Unterschied zwischen Leerzeichen und einem Tabulatorzeichen meist nicht oder nur schwer ersichtlich ist.
Die Bearbeitung in einem grafischen Texteditor erfolgt durch Aufruf des [[Menü (Computer)|Menüs]] „Öffnen“
* Durch Suchen und Ersetzen lässt sich die zu ändernde Passage finden; der gesamte Dateiinhalt kann verändert werden
* Sowohl bei der Anzeige in einem Texteditor als auch beim Ausdrucken kann das Problem auftreten, dass die Einrückung von Zeilen nicht korrekt dargestellt wird
* Dies liegt meist daran, dass in der Datei das [[Tabulatorzeichen]] enthalten ist, für das nicht einheitlich definiert ist, wie weit die Einrückung erfolgen soll
* Um wie viele Zeichen eingerückt wird, ist deshalb eine [[Konfiguration (Computer)|Konfigurationsinformation]] des Editors oder Druckers
* Erschwerend kommt hinzu, dass bei der Anzeige im Texteditor der Unterschied zwischen Leerzeichen und einem Tabulatorzeichen meist nicht oder nur schwer ersichtlich ist


Texteditoren fügen häufig automatisch „weiche“ [[Zeilenumbruch|Zeilenumbrüche]] ein, wenn die Breite des verwendeten [[Fenster (Computer)|Bildschirmfensters]] zur Anzeige der gesamten Zeile nicht ausreicht. Auch bei Druckausgabe kann es zum Einfügen solcher „weichen“ Zeilenumbrüche kommen. Diese Zeilenumbrüche sind nicht in der Datei selbst enthalten und können bei Ausgabe auf einem anderen Medium an anderer Stelle erfolgen. Oft sind diese vom Anwender nur schwer von den eigentlichen, „harten“ Zeilenumbrüchen zu unterscheiden – also den Zeilenumbrüchen, die der Anwender selbst –&nbsp;beispielsweise unter Verwendung der [[Eingabetaste|entsprechenden Taste]]&nbsp;– in der Datei eingefügt hat und die auch in der Datei gespeichert werden.
Texteditoren fügen häufig automatisch „weiche“ [[Zeilenumbruch|Zeilenumbrüche]] ein, wenn die Breite des verwendeten [[Fenster (Computer)|Bildschirmfensters]] zur Anzeige der gesamten Zeile nicht ausreicht
* Auch bei Druckausgabe kann es zum Einfügen solcher „weichen“ Zeilenumbrüche kommen
* Diese Zeilenumbrüche sind nicht in der Datei selbst enthalten und können bei Ausgabe auf einem anderen Medium an anderer Stelle erfolgen
* Oft sind diese vom Anwender nur schwer von den eigentlichen, „harten“ Zeilenumbrüchen zu unterscheiden – also den Zeilenumbrüchen, die der Anwender selbst –&nbsp;beispielsweise unter Verwendung der [[Eingabetaste|entsprechenden Taste]]&nbsp;– in der Datei eingefügt hat und die auch in der Datei gespeichert werden


Die Texte können entweder auf einem [[Computer]] eingesehen werden oder durch den [[Drucker (Gerät)|Drucker]] auf Papier gebracht werden.
Die Texte können entweder auf einem [[Computer]] eingesehen werden oder durch den [[Drucker (Gerät)|Drucker]] auf Papier gebracht werden


'''Datenübertragung'''<br />
'''Datenübertragung'''<br />
Die [[Datenübertragung]] über das [[Internet]] (durch [[Download]] bzw. [[Upload]]) ist für Laien kompliziert, zumal sie im Hintergrund geschieht. Das [[Transmission Control Protocol]] (TCP) zerlegt eine zu versendende Datei in einzelne kleinere [[Datenpaket]]e und versendet diese getrennt voneinander über das Internet. Dabei kann ein Datenpaket verschiedene [[Point of Presence|Knotenpunkte]] im Internet (wie [[Hostrechner]], [[Server]]) durchlaufen, weil an jedem Knotenpunkt der optimale Weg für das Paket neu bestimmt wird.<ref>Siegfried G. Häberle: ''Das neue Lexikon der Betriebswirtschaftslehre''. 2008, [https://www.google.de/books/edition/Das_neue_Lexikon_der_Betriebswirtschafts/eWbpBQAAQBAJ?hl=de&gbpv=1&dq=Datenpaket+lexikon&pg=PA1248&printsec=frontcover S. 1247 f.]</ref> Da unterwegs die ursprüngliche [[Reihenfolge]] nicht eingehalten werden muss, hat das TCP auch die Aufgabe, die ursprüngliche Reihenfolge beim empfangenden [[Endgerät]] wiederherzustellen. Das [[Internet Protocol]] (IP) regelt die korrekte Adressierung (Rechnerarchitektur)|Adressierung der Datenpakete, damit die im Internet angeschlossenen Computer eindeutig identifiziert werden können.<ref>Siegfried G. Häberle: ''Das neue Lexikon der Betriebswirtschaftslehre''. 2008, S. 1248</ref> Die Datenübertragung der [[Digitale Daten|digitalen Daten]] beginnt mit dem Upload beim [[Absender]] und endet mit dem Download beim [[Empfänger (Information)|Empfänger]].
Die [[Datenübertragung]] über das [[Internet]] (durch [[Download]] bzw. [[Upload]]) ist für Laien kompliziert, zumal sie im Hintergrund geschieht
* Das [[Transmission Control Protocol]] (TCP) zerlegt eine zu versendende Datei in einzelne kleinere [[Datenpaket]]e und versendet diese getrennt voneinander über das Internet
* Dabei kann ein Datenpaket verschiedene [[Point of Presence|Knotenpunkte]] im Internet (wie [[Hostrechner]], [[Server]]) durchlaufen, weil an jedem Knotenpunkt der optimale Weg für das Paket neu bestimmt wird
 
Da unterwegs die ursprüngliche [[Reihenfolge]] nicht eingehalten werden muss, hat das TCP auch die Aufgabe, die ursprüngliche Reihenfolge beim empfangenden [[Endgerät]] wiederherzustellen
* Das [[Internet Protocol]] (IP) regelt die korrekte Adressierung (Rechnerarchitektur)|Adressierung der Datenpakete, damit die im Internet angeschlossenen Computer eindeutig identifiziert werden können
* Die Datenübertragung der [[Digitale Daten|digitalen Daten]] beginnt mit dem Upload beim [[Absender]] und endet mit dem Download beim [[Empfänger (Information)|Empfänger]]


<noinclude>
<noinclude>

Version vom 4. November 2024, 13:12 Uhr

Textdatei - Beschreibung

Beschreibung

95 ASCII-Zeichen, weiße Schrift auf schwarzem Grund
Die 95 druckbaren Zeichen des ursprünglichen ASCII

Als Textdatei wird in der Informationstechnik eine Datei bezeichnet, die darstellbare Zeichen enthält und zum Speichern, Bearbeiten, zur Datenübertragung und Lesen dient

Allgemeines

Die Zeichen können durch Steuerzeichen wie Zeilen- und Seitenwechsel untergliedert sein

Das Gegenstück zur Textdatei ist eine Binärdatei

  • Im Grunde werden auch Textdateien binär gespeichert, die Begriffe werden jedoch komplementär verwendet, denn die Interpretation des binären Inhalts ist ausschlaggebend: Bei einer Textdatei wird der Inhalt als sequenzielle Folge von Zeichen eines Zeichensatzes interpretiert, bei einer Binärdatei ist eine beliebige anderweitige Interpretation des Inhalts möglich

Folglich ist eine Textdatei im Gegensatz zu einer Binärdatei ohne die Verwendung spezieller Programme lesbar und kann mit einem einfachen Texteditor – wie beispielsweise mit Notepad unter Windows oder vi oder Nano unter Unix – betrachtet und bearbeitet werden

Im Gegensatz zu dieser fachsprachlichen Definition des Begriffs Textdatei, bei der das Dateiformat ausschlaggebend ist, orientiert sich die umgangssprachliche Verwendung des Begriffs häufig primär am für den Endbenutzer sichtbaren Inhalt der Datei: Dabei werden etwas unscharf alle Dateien als „Textdatei“ bezeichnet, die mit dem Ziel erstellt wurden, einen lesbaren Text zu präsentieren, unabhängig davon, in welcher Form sie gespeichert werden

  • Bei den von üblicher Textverarbeitungs- oder Publishingsoftware bei Speicherung erzeugten Dateien handelt es sich jedoch häufig um komplexe Dateiformate, die neben dem Text Metainformation zur Beschreibung des Textlayouts, der Struktur und der verwendeten Schriften enthalten; zudem können Bilder oder Grafiken eingebettet sein
  • Deshalb handelt es sich um keine Textdateien im fachsprachlichen Sinn, da die Dateiformate häufig binär sind und zur Anzeige eine spezielle Software erforderlich ist

Bei einer Textdatei im fachsprachlichen Sinn wird die Menge der verfügbaren Zeichen durch die zugrunde liegende Codierung bestimmt

  • Am gebräuchlichsten sind hierbei ASCII oder UTF-8, eine Codierung des Unicode
  • Eine solche Textdatei muss dabei nicht notwendigerweise Text enthalten – es kann sich beispielsweise auch um ASCII-Art handeln, also um Piktogramme auf Basis der verfügbaren Zeichen
  • Wenn es sich jedoch um Text handelt und zum Verständnis der Bedeutung weder besondere Verarbeitungsschritte noch die Kenntnis einer speziellen Notation erforderlich sind, wird der Inhalt als Plain text bezeichnet
  • Die Zeichenmenge wird aber auch häufig durch eine natürliche oder formale Sprache eingeschränkt
  • Textdateien, die eine bestimmte Notation erfordern – wie beispielsweise HTML-Dateien – können zwar mit einem einfachen Texteditor bearbeitet werden, jedoch gibt es hierfür oft spezielle Programme, die die Bearbeitung erleichtern – beispielsweise durch besondere Hervorhebungen oder automatische Formatierungen

Geschichte

In der Anfangszeit der elektronischen Datenverarbeitung war die Unterscheidung zwischen Text- und Binärdateien einfacher als heute

  • Bei einer Textdatei wurde ein Zeichen immer direkt in ein spezielles Bitmuster umgesetzt
  • Die Datei konnte ohne Umwege – das heißt Zeichen für Zeichen, ohne jegliche Umsetzung durch ein spezielles Programm – zu einem Terminal, Drucker oder Fernschreiber übertragen werden
  • Der bei Übertragung zwischen Fernschreibern verwendete Baudot-Code ist auch der Ursprung der in Textdateien zu findenden SteuerzeichenZeilenvorschub“ oder „Wagenrücklauf

Zur Umsetzung der physisch gespeicherten Bitfolgen in einem Text wird eine Zeichenkodierung verwendet

  • Früher wurde dabei nahezu ausschließlich ein Zeichen immer in genau ein Byte umgesetzt, also im Regelfall eine Gruppe von 8 Bit, die so 256 (entspricht 28) verschiedene Zeichen ermöglichte
  • Bei der Codierung mittels ASCII in der ursprünglichen Definition wurden tatsächlich nur 7 Bits verwendet

Mit den 7- oder 8-Bit-Zeichensätzen kann nur jeweils eine Schrift in einer Datei verwendet werden; die Verwendung verschiedener Sprachen ist nur bedingt möglich

  • Die ostasiatischen Schriftsysteme, wie Japanisch, Chinesisch und Koreanisch, können praktisch überhaupt nicht abgebildet werden
  • Mit ISO 2022 gab es im Jahr 1986 erstmals einen Standard, der die Verwendung verschiedener Schriften in einer Textdatei ermöglichte, und der auch Schriften vorsah, die mehr als 256 verschiedene Schriftzeichen verwenden
  • Dieser Standard erlangte aber nur im ostasiatischen Raum nennenswerte Verbreitung und wurde durch den 1991 erstmals veröffentlichten Unicode verdrängt, der langfristig alle existierenden Schriftsysteme abbilden soll

Spätestens seit Einführung von Unicode stellt sich die Umsetzung eines Zeichens in seine binäre Repräsentation komplizierter dar, da es hierfür mehrere Varianten gibt und ein Zeichen nicht immer mit der gleichen Anzahl Bytes umgesetzt wird

Da der Austausch von Dateien zwischen unterschiedlichen Rechnersystemen nicht zuletzt durch das Internet wichtiger geworden ist und Textdateien im Vergleich zu Binärdateien auf einfachere Weise eine systemunabhängige Bearbeitung von Dateien ermöglichen, hat das Textformat an Bedeutung gewonnen

  • Jedoch ist insbesondere auch durch die vielfältige Verwendung von Textdateien der Begriff selbst unzweckmäßiger und unschärfer geworden

Abgrenzung von Binär- und Textdateien

Bei vielen Betriebssystemen existieren Konventionen in Bezug auf die Endung von Dateinamen zur Kennzeichnung des Dateityps

  • Unter Windows und macOS wird dem Namen einer Textdatei meist die Endung .txt angehängt, auch bei anderen Betriebssystemen wie beispielsweise Linux wird diese Dateiendung teilweise verwendet

Die zur Standardisierung des technischen Formats von E-Mails entworfenen Multipurpose Internet Mail Extensions (MIME) definieren sogenannte Medientypen, die mittlerweile neben dem E-Mail-Verkehr auch in vielen anderen Bereichen zur Kennzeichnung des Dateityps verwendet werden

  • Der Medientyp text kennzeichnet dabei Text
  • Die vollständige Typangabe wird noch um einen Subtyp ergänzt, der den Verwendungszweck des Textes spezifiziert
  • Bei Textdateien, die direkt den „eigentlichen“ Text enthalten, der nicht für eine bestimmte maschinelle Weiterverarbeitung bestimmt ist, lautet die vollständige Typangabe text/plain

Für den in einer Textdatei enthaltenen Text können keine besonderen Formatierungen wie beispielsweise Hervorhebungen durch Fettdarstellung festgelegt werden

Eine mit einer Textverarbeitung (wie beispielsweise Microsoft Word oder LibreOffice Writer) erstellte Datei ist im Normalfall keine Textdatei,

selbst wenn ausschließlich Text erfasst wurde, da der Text nur unter Verwendung eines geeigneten Textverarbeitungssystems wieder angezeigt und bearbeitet werden kann
  • Auch ein im PostScript (.ps), Portable Document Format (PDF, .pdf) oder TeX-DVI (.dvi) vorliegender Text ist keine Textdatei, weil diese codierte Formatinformationen enthält, die auch binär sein können
  • Ebenso handelt es sich bei Texten, die mittels eines Scanners eingelesen werden, nicht um Textdateien
  • Diese sind vielmehr Bilddateien, sofern sie nicht nach dem Scan-Vorgang mittels einer Texterkennungs-Software (OCR, Vorlage:Lang) in eine Textdatei umgewandelt werden

Bei einer Datenkomprimierung kann bei Textdateien im Regelfall eine erheblich größere Einsparung bei der Speichergröße erzielt werden als bei Binärdateien

  • Dies liegt daran, dass bei Textdateien die Informationsdichte geringer ist als bei den meisten Binärdateien, was die gängigen Komprimierungsalgorithmen ausnutzen – beispielsweise durch Verwendung der Huffman-Kodierung

Kennzeichnung des Zeilenendes

Grundsätzlich gibt es zwei Möglichkeiten festzulegen, an welcher Stelle eine neue Zeile im Text beginnen soll: die Festlegung einer konstanten Anzahl Zeichen pro Zeile oder die Verwendung definierter spezieller Zeichen zur Markierung des Zeilenendes

Festlegung einer konstanten Zeilenlänge

Die Verwendung einer festen Zeilenlänge hat den Vorteil, dass die Position einer bestimmten Zeile innerhalb der Zeichenfolge (Bytefolge) der Datei ermittelt werden kann, ohne die Datei Zeile für Zeile lesen zu müssen

  • Allerdings hat sie den Nachteil, dass Zeilen mit kürzerem Inhalt „aufgefüllt“ werden müssen (siehe Padding); dies erfolgt in der Regel mit Leerzeichen
  • Dadurch beansprucht die Datei mehr Speicherplatz als nötig, wenn die Zeilenlänge nicht ausgeschöpft wird
  • Eine solche feste Zeilenlänge ist nur auf Großrechner-Systemen gebräuchlich
  • Die Satzlänge wird dabei vom Dateisystem verwaltet oder ist bei Zugriff auf die Datei anzugeben
  • Sehr häufig ist die Satzlänge von 80 Zeichen, da diese Anzahl Zeichen bei zeichenorientierten Terminals in einer Zeile dargestellt werden kann, was wiederum auf die historischen Lochkarten zurückgeht

Kennzeichnung mittels Steuerzeichen

Die übliche Definition des Zeichens zur Kennzeichnung des Zeilenendes erinnert an die ursprüngliche direkte Datenausgabe von Textdateien auf Fernschreibern oder Druckern, die in ihrer Bauart einer Schreibmaschine entsprachen

  • Dort waren die „Befehle“ Wagenrücklauf (Vorlage:Lang, CR) und Zeilenvorschub (Vorlage:Lang, LF) notwendig, um die Fortsetzung der Druckausgabe am Beginn der nächsten Zeile zu veranlassen – bei einem Fernschreiber waren das zwei separate Tasten
  • Diese beiden Steuerzeichen waren folglich die aussichtsreichsten Kandidaten, um als Markierung des Zeilenendes bei elektronischer Speicherung von Dateien verwendet zu werden
  • Im Prinzip ist dabei aber ein Zeichen von beiden ausreichend, und diese Wahlmöglichkeit führte dazu, dass die Festlegung uneinheitlich erfolgte, was bis heute eine Komplikation beim systemübergreifenden Austausch von Dateien darstellt
  • Hauptsächlich auf der Plattform der IBM-PC-kompatibler Computer, unter Betriebssystemen wie PC-kompatibles DOS oder Windows, wird die Folge von CR und LF (ASCII: zwei Bytes) zur Markierung des Zeilenendes verwendet
  • Unter Unix und Unixartigen Betriebssystemen, beispielsweise Linux, wird das Zeilenende alleine mittels LF (ASCII, UTF-8: ein Byte) gekennzeichnet
  • Bei älteren Betriebssystemen von Apple, beispielsweise System 1 bis Mac OS 9 (1984–2001) war mit der ausschließlichen Verwendung von CR eine dritte Möglichkeit gebräuchlich
  • In der IBM-Großrechnerwelt wird im EBCDIC neben diesen beiden Zeichen noch ein weiteres spezielles Zeichen (Vorlage:Lang, NL) verwendet

Die diesbezüglich meisten Probleme entstehen beim Austausch von Dateien, häufig z. B

  • zwischen der Windows- und Unix-Plattform, da diese über weite Bereiche denselben Zeichencode verwenden und mit Ausnahme des Zeilenende-Zeichens im Regelfall keine Konvertierung der Dateien erforderlich ist

Weitere Steuerzeichen

Neben der Kennzeichnung des Zeilenendes können insbesondere bei Verwendung des ASCII in Textdateien weitere Steuerzeichen auftreten

  • Diese waren vor allem üblich, als der Inhalt der Textdateien noch direkt zum Terminal oder Drucker übertragen wurde
  • Die wichtigsten dabei sind das Zeichen Form Feed (FF), das die Position eines Seitenwechsels im Text markiert, und Horizontal Tabulation (HT), das Tabulatorzeichen, das eine Einrückung des Textes kennzeichnet

Um die Darstellung des Textes noch differenzierter beeinflussen zu können, wurden in Verbindung mit Textdateien teilweise Escape-Sequenzen verwendet

  • Sie bestehen aus dem einleitenden Steuerzeichen Escape (ESC) und einer Folge weiterer Zeichen, die eine Darstellungsanweisung codieren
  • Der sich hierbei etablierte Standard sind ANSI-Escapesequenzen nach ANSI X3.41-1974 und X3.64-1977, die ursprünglich zur Ansteuerung von Terminals wie den VT-Modellen von DEC entwickelt wurden
  • Beim Drucken war zur Zeit der Nadeldrucker der von Epson eingeführte Standard ESC/P weit verbreitet, so dass derartige Escape-Sequenzen auch in Textdateien zu finden waren

Zeichencodierung

Der bei Textdateien physisch binär vorliegende Inhalt wird nach einer für die jeweilige Datei fest vorgegebenen Regel in Text umgewandelt

  • Dabei sind folgende Zeichencodierungen gebräuchlich
  • ASCII stellt das am weitesten verbreitete Format dar – insbesondere, wenn die diversen Erweiterungen des Standards einbezogen werden
  • ISO 8859-1 (auch bekannt als Latin-1) und ISO 8859-15 sind standardisierte Erweiterungen des ASCII, die die Grundlage des bei Windows im englischen und westeuropäischen Sprachraum verwendeten Codes Windows-1252 bilden
  • EBCDIC ist eine auf Großrechnern von IBM gebräuchliche Codierung
  • Unicode ist ein internationaler Standard, der weltweit alle sinntragenden Zeichen abbildet
  • Im Gegensatz zu obigen Codierungen kommt Unicode dabei nicht mit 8 Bit (das heißt einem Byte) aus, da Unicode weit mehr als 256 verschiedene Zeichen definiert

Bei der Verwendung von Unicode ist die generelle Umsetzung eines Zeichens in ein Byte nicht anwendbar

  • Es gibt unterschiedliche Verfahren, Unicode in eine Bytefolge umzusetzen
  • Am meisten verwendet werden hierbei Codierungen mit dem Ziel, die Dateigröße bei Auftreten der gebräuchlichsten Zeichen zu minimieren
  • Hierfür wird allerdings die Regel „geopfert“, dass jedes Zeichen immer mit derselben Anzahl Bytes codiert wird
  • Ein Beispiel hierfür ist die verbreitete Codierung UTF-8, die zudem die Besonderheit aufweist, dass alle im ursprünglichen ASCII enthaltenen Zeichen genau auf die gleiche Weise wie bei ASCII in einem Byte codiert werden
  • Der binäre Inhalt einer Datei, die ausschließlich aus solchen Zeichen besteht, ist also identisch, unabhängig davon, ob sie in ASCII oder UTF-8 codiert wurde
Text bei dem Umlaute und das Eszett falsch (als Sonderzeichen) dargestellt werden
Fehlerhafte Darstellung bei Verwendung der falschen Codierung

Bei Unicode existiert zudem die Konvention, am Beginn einer Datei mittels spezieller Bytefolgen (sogenannte Byte Order Marks) kenntlich zu machen, welche Unicode-Codierung verwendet wird

  • Dies ist auch deshalb nötig, da auf vielen Systemen – auch unter Windows – die bisherige auf ASCII basierende Codierung und Unicode parallel verwendet werden
  • Bei einer solchen Codierung beginnt die Grenze zur Binärdatei zu verschwimmen

Wird eine Textdatei unter Verwendung einer falschen Zeichencodierung interpretiert, kann sie gänzlich unlesbar sein, wenn vollständig inkompatible Codierungen verwendet werden – wie beispielsweise ASCII und EBCDIC

  • Wird hingegen eine abweichende, aus dem ursprünglichen ASCII abgeleitete Codierung verwendet, werden lediglich die Sonderzeichen – beispielsweise die deutschen Umlaute – falsch dargestellt, da diese nicht Bestandteil der ersten 128 standardisierten Zeichen des ASCII sind

Austausch zwischen unterschiedlichen Systemen

Wenn Textdateien von einem System auf ein System anderen Typs übertragen werden, muss berücksichtigt werden, ob die durch die Systeme verwendeten Zeichencodierungen übereinstimmen

  • Weiterhin ist das zur Kennzeichnung des Zeilenendes verwendete Verfahren zu berücksichtigen (siehe oben)
  • Der Austausch von Dateien, die nur die ersten 128 Zeichen des ASCII verwenden, ist auf Systemen, die diese oder eine daraus abgeleitete Codierung verwenden, meist recht problemlos
  • Auch die Unicode-Codierung UTF-8 stimmt bei ausschließlicher Verwendung dieser Zeichen exakt mit ASCII überein
  • Werden hingegen weitere Zeichen verwendet, ist oft eine Konvertierung erforderlich
  • Zu beachten ist allerdings, dass eine Konvertierung nur dann durchzuführen ist, wenn die Datei auf dem Zielsystem selbst auch angezeigt wird
  • Wird die Datei auf diesem System nur gespeichert und zur Anzeige wieder auf ein System übertragen, das die ursprüngliche Codierung verwendet, wäre eine Konvertierung unnötig und möglicherweise sogar schädlich, da durch diese doppelte Konvertierung Information verloren gehen kann

Beim Austausch von Textdateien als Anhang einer E-Mail können Unstimmigkeiten auftreten

  • Das Problem liegt dabei meist beim Absender, da dessen Mail-Client häufig die Codierung der Textdatei nicht korrekt ermitteln kann, vom Benutzer aber diese Angabe aus Gründen der Benutzerfreundlichkeit nicht fordert und so keine entsprechende oder eine falsche Information in die Mail einträgt
  • Im Prinzip sind die meisten heute gebräuchlichen Mail-Clients in der Lage, die Codierung im Bedarfsfall zu konvertieren

Bei einer direkten Dateiübertragung (File Transfer) zwischen Systemen wird meist ein spezielles Programm zur Übertragung verwendet

  • Dieses übernimmt auch die notwendigen Konvertierungen, auch wenn die Codierungen beider Systeme gänzlich unterschiedlich sind – wie beispielsweise beim Austausch zwischen Windows und IBM-Großrechnern
  • Bei einer Übertragung muss im Regelfall angegeben werden, ob es sich bei der zu übertragenden Datei um eine Text- oder Binärdatei handelt, um festzulegen, ob eine Konvertierung der Datei erfolgen soll oder zu unterlassen ist – der Inhalt einer Binärdatei würde durch eine solche Konvertierung zerstört

Verwendung von Textdateien

Der ursprüngliche und einfachste Verwendungsfall von Textdateien ist die Übermittlung des enthaltenen Textes als eigentliche Information ()

  • Textdateien können aber unter Anwendung eines im Vorhinein festzulegenden formalen Aufbaus dazu genutzt werden, komplexere Daten zu übermitteln
  • Die Datei ist dann meist nicht mehr primär für die direkte Nutzung durch den Anwender gedacht, sondern wird durch ein bestimmtes Programm weiterverarbeitet oder durch einen Systemadministrator gepflegt

In vielen Fällen werden auf diese Weise heute Textdateien genutzt, in denen eigentlich Binärdateien prädestiniert erscheinen, weil nur eine maschinelle Weiterverarbeitung erfolgt

  • Der ausschlaggebende Nachteil der Binärdateien hier ist, dass deren Struktur über Systemgrenzen hinweg noch weit inhomogener als die von Textdateien ist (siehe beispielsweise Byte-Reihenfolge)
  • Dafür haben Textdateien den Nachteil, dass zur Speicherung derselben Information mehr Speicherplatz erforderlich ist und dass die Daten vielfach bei einer Weiterverarbeitung erst wieder ins binäre Format konvertiert werden müssen
  • Da aber – vor allem durch das Internet – der systemübergreifende Austausch von Daten immer bedeutender geworden ist, ist eine Datenspeicherung in Textdateien heute vielfach üblich

Auch für durch Administratoren oder privilegierte Benutzer zu pflegende Konfigurationsdateien wird häufig das Textformat verwendet

  • Bei einem binären Format wäre jeweils ein spezielles Konfigurationsprogramm erforderlich, bei Verwendung des Textformats kann die Konfigurationsdatei direkt mittels eines Texteditors bearbeitet werden

Tabellarische Daten

Textdateien werden aus verschiedenen Gründen zur Speicherung von Daten mit tabellarischer Struktur verwendet

Es gibt verschiedene Verfahren zur tabellarischen Anordnung der Daten in Textdateien, von denen die folgenden die gebräuchlichsten sind

  • Trennung der Spalten durch Tabulator: Das Tabulatorzeichen, ein spezielles Steuerzeichen, wird innerhalb einer Zeile zur Kennzeichnung der Spaltengrenzen verwendet
  • CSV-Format: Dieses Format, das ursprünglich Vorlage:Lang bedeutete, ist ähnlich der Trennung durch Tabulatorzeichen, nur wird in der Regel im englischen Sprachraum eben das Komma, im deutschen aber der Strichpunkt als Trennzeichen verwendet
  • Festlegung einer konstanten Anzahl Zeichen pro Spalte: Um eine solche Datei verwenden zu können, muss bekannt sein, welche Breite jede einzelne Spalte hat
  • Diese Definition wird selbst nicht in der Datei gespeichert

XML

XML (Extensible Markup Language) ist ein Meta-Dateiformat

  • Es definiert also, in welchem Format definiert wird, wie die Struktur einer Datei aussieht

XML ist dabei bewusst ein Textformat und soll für Mensch und Maschine gleichermaßen lesbar sein, auch soll ein systemübergreifender Austausch von XML-Daten problemlos ermöglicht werden

XML-Dateien sind also grundsätzlich Textdateien, deren grobe Strukturierung standardisiert ist und die vor allem zum Datenaustausch oder zur Datenspeicherung verwendet werden – der genaue Verwendungszweck wird von XML selbst nicht vorgegeben

  • Ein Beispiel für ein auf XML basierendes Format ist SVG (Vorlage:Lang), ein Grafikformat, das somit im Prinzip lesbar in einer Textdatei codiert ist

Die Dateiformate der Textverarbeitungen OpenDocument (OpenOffice.org) und Office Open XML (der neueren Versionen von Microsoft Word, erkennbar an der Dateierweiterung .docx statt .doc) basieren auf XML, und die gespeicherten Dateien sind demzufolge Textdateien

  • Dabei ist aber zu beachten, dass der „Text“, der bei direkter Bearbeitung einer solchen Datei sichtbar wird, nicht der „eigentliche“ Textinhalt des Dokuments ist, sondern die Beschreibung des Textdokuments auf einer Metaebene

Weitere Dateiformate

Neben XML-Formaten existieren noch einige meist ältere, recht weit verbreitete Auszeichnungssprachen, die häufig verwendet und in Form einer Textdatei gespeichert werden

Das Dateiformat definiert unter anderem Zugehörigkeit, Aufgabe und Klasse der Datei (Betriebssystemdatei oder Videodatei usw.)

In welchem Dateiformat eine Datei gespeichert wurde, lässt sich an ihrer Dateinamenserweiterung erkennen (etwa „*.exe“ für ein ausführbares Computerprogramm oder „*.wmv“ für ein Windows Metafile)

  • Die wichtigsten Dateiformate für Textdateien sind


Dateiformat Dateiendung
Textdatei *.txt
Microsoft Word *.doc
Office Open XML *.docx und andere
Microsoft Access *.acc
Microsoft PowerPoint *.ppt und andere
OpenDocument *.odt und andere
Apple Pages *.pages
Portable Document Format *.pdf
Rich Text Format *.rtf
Microsoft Excel *.xls und andere
Extensible Markup Language *.xml
  • HTML, die Sprache zur Gestaltung von Inhalten im World Wide Web, ist von der Struktur her verwandt mit XML
  • Rich Text Format (RTF) ist eine Sprache zum Austausch von formatiertem Text zwischen Textverarbeitungsprogrammen, auch auf unterschiedlichen Plattformen
  • TeX und LaTeX stellen ein Textsatzsystem dar, das zur Textgestaltung eine spezielle Sprache verwendet, die in Textdateien codiert wird
  • PostScript ist ein Dateiformat, das professionelle Druckformatierungen ermöglicht und in Form einer Textdatei gespeichert wird
  • Die Binärdaten enthaltener Grafiken werden als hexadezimale Ziffern in Text umgesetzt
  • Da viele Drucker dieses Format direkt interpretieren können, geben viele Textverarbeitungs- oder Desktop-Publishing-Programme ihre Ergebnisse im PostScript-Format aus
  • PostScript wird allerdings in einigen Bereichen von PDF verdrängt

Daneben existieren noch viele weitere und auch proprietäre Formate, deren Aufbau sich nur bei Verfügbarkeit einer entsprechenden Spezifikation erschließt

Nutzung

Speichern
Das Speichern einer Textdatei geschieht mit Hilfe eines Datenspeichers, der ein bestimmtes Dateiformat unterstützt

  • Dazu wird das Menü „Speichern“ ausgewählt, das für die Speicherung sorgt
  • Moderne Betriebssysteme ordnen über das Dateiformat Anwendungen zu, welche die Dateien interpretieren können

Lesen und Bearbeiten
Unter unixoiden Betriebssystemen erkennt das Programm bzw. die Bibliothek file, ob es sich um eine für die textuelle Bearbeitung geeignete Datei handelt, unabhängig von der Dateinamenserweiterung

  • Unter Windows und im Vorläufersystem MS-DOS (beide von Microsoft) dienen die Kommandozeilenbefehle TYPE und MORE der Anzeige von Textdateien
  • Unter allen Betriebssystemen gibt es Texteditoren zur direkten Anzeige und Bearbeitung von Textdateien auf der Kommandozeile, beispielsweise less, ed, vi oder Nano unter unixoiden Betriebssystemewn
  • Dabei ermöglichen praktisch alle Texteditoren, in einer Datei direkt nach speziellen Textinhalten zu suchen
  • Viele, insbesondere grafische, Texteditoren bieten auch eine Unterstützung bei der Darstellung spezieller Dateiformate, so werden verschiedene Syntaxelemente entsprechend ihrer Bedeutung hervorgehoben (beispielsweise durch Einfärbungen)
  • Mithilfe eines Texteditors kann eine Datei im Regelfall auch gedruckt werden

Die Bearbeitung in einem grafischen Texteditor erfolgt durch Aufruf des Menüs „Öffnen“

  • Durch Suchen und Ersetzen lässt sich die zu ändernde Passage finden; der gesamte Dateiinhalt kann verändert werden
  • Sowohl bei der Anzeige in einem Texteditor als auch beim Ausdrucken kann das Problem auftreten, dass die Einrückung von Zeilen nicht korrekt dargestellt wird
  • Dies liegt meist daran, dass in der Datei das Tabulatorzeichen enthalten ist, für das nicht einheitlich definiert ist, wie weit die Einrückung erfolgen soll
  • Um wie viele Zeichen eingerückt wird, ist deshalb eine Konfigurationsinformation des Editors oder Druckers
  • Erschwerend kommt hinzu, dass bei der Anzeige im Texteditor der Unterschied zwischen Leerzeichen und einem Tabulatorzeichen meist nicht oder nur schwer ersichtlich ist

Texteditoren fügen häufig automatisch „weiche“ Zeilenumbrüche ein, wenn die Breite des verwendeten Bildschirmfensters zur Anzeige der gesamten Zeile nicht ausreicht

  • Auch bei Druckausgabe kann es zum Einfügen solcher „weichen“ Zeilenumbrüche kommen
  • Diese Zeilenumbrüche sind nicht in der Datei selbst enthalten und können bei Ausgabe auf einem anderen Medium an anderer Stelle erfolgen
  • Oft sind diese vom Anwender nur schwer von den eigentlichen, „harten“ Zeilenumbrüchen zu unterscheiden – also den Zeilenumbrüchen, die der Anwender selbst – beispielsweise unter Verwendung der entsprechenden Taste – in der Datei eingefügt hat und die auch in der Datei gespeichert werden

Die Texte können entweder auf einem Computer eingesehen werden oder durch den Drucker auf Papier gebracht werden

Datenübertragung
Die Datenübertragung über das Internet (durch Download bzw. Upload) ist für Laien kompliziert, zumal sie im Hintergrund geschieht

  • Das Transmission Control Protocol (TCP) zerlegt eine zu versendende Datei in einzelne kleinere Datenpakete und versendet diese getrennt voneinander über das Internet
  • Dabei kann ein Datenpaket verschiedene Knotenpunkte im Internet (wie Hostrechner, Server) durchlaufen, weil an jedem Knotenpunkt der optimale Weg für das Paket neu bestimmt wird

Da unterwegs die ursprüngliche Reihenfolge nicht eingehalten werden muss, hat das TCP auch die Aufgabe, die ursprüngliche Reihenfolge beim empfangenden Endgerät wiederherzustellen

  • Das Internet Protocol (IP) regelt die korrekte Adressierung (Rechnerarchitektur)|Adressierung der Datenpakete, damit die im Internet angeschlossenen Computer eindeutig identifiziert werden können
  • Die Datenübertragung der digitalen Daten beginnt mit dem Upload beim Absender und endet mit dem Download beim Empfänger


Anhang

Siehe auch

Links

Weblinks