|
|
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 6: |
Zeile 6: |
| 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 | | 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 | | * 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 |
Zeile 15: |
Zeile 15: |
| * 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 | | * 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 |
|
| |
|
| | ; Fachsprachlichen Verwendung |
| Bei einer Textdatei im fachsprachlichen Sinn wird die Menge der verfügbaren Zeichen durch die zugrunde liegende [[Zeichenkodierung|Codierung]] bestimmt | | 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]] | | * Am gebräuchlichsten sind hierbei [[American Standard Code for Information Interchange|ASCII]] oder [[UTF-8]], eine Codierung des [[Unicode]] |
Zeile 22: |
Zeile 23: |
| * Textdateien, die eine bestimmte Notation erfordern – wie beispielsweise [[Hypertext Markup Language|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 [[Syntaxhervorhebung|Hervorhebungen]] oder automatische Formatierungen | | * Textdateien, die eine bestimmte Notation erfordern – wie beispielsweise [[Hypertext Markup Language|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 [[Syntaxhervorhebung|Hervorhebungen]] oder automatische Formatierungen |
|
| |
|
| === Geschichte === | | == Binär-/Textdatei == |
| In der Anfangszeit der [[Datenverarbeitung|elektronischen Datenverarbeitung]] war die Unterscheidung zwischen Text- und Binärdateien einfacher als heute
| | Abgrenzung von Binär- und Textdateien |
| * 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 (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
| | ; Das Gegenstück zur Textdatei ist eine [[Binärdatei]] |
| * 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 2<sup>8</sup>) verschiedene Zeichen ermöglichte | | 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 der Codierung mittels ASCII in der ursprünglichen Definition wurden tatsächlich nur 7 Bits verwendet
| | * 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 |
| | * 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 [[Editor (Windows)|Notepad]] unter [[Microsoft Windows|Windows]] oder [[vi]] oder [[Nano (Texteditor)|Nano]] unter [[Unix]] – betrachtet und bearbeitet werden |
|
| |
|
| 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
| | Bei manchen [[Betriebssystem]]en existieren Konventionen in Bezug auf die [[Dateinamenserweiterung|Endung]] von [[Dateiname]]n zur Kennzeichnung des Dateityps |
| * 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
| |
| | |
| 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 [[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 | | * 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 |
|
| |
|
| | ; Standardisierung |
| 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 | | 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 | | * Der Medientyp <code>text</code> kennzeichnet dabei Text |
Zeile 54: |
Zeile 43: |
| * Manche Codierungen erlauben das Stapeln [[Diakritisches Zeichen|diakritischer Zeichen]] oder die Darstellung von [[Bidirektionaler Text|bidirektionalem Text]] | | * 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, | | ; Textverarbeitung |
| selbst wenn ausschließlich Text erfasst wurde, da der Text nur unter Verwendung eines geeigneten Textverarbeitungssystems wieder angezeigt und bearbeitet werden kann
| | Eine mit einer [[Textverarbeitung]] (wie [[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 | | * 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 | | * 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 | | * 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 |
|
| |
|
| | ; Datenkomprimierung |
| Bei einer [[Datenkomprimierung]] kann bei Textdateien im Regelfall eine erheblich größere Einsparung bei der Speichergröße erzielt werden als bei Binärdateien | | 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 – beispielsweise durch Verwendung der [[Huffman-Kodierung]] | | * Dies liegt daran, dass bei Textdateien die [[Entropie (Informationstheorie)|Informationsdichte]] geringer ist als bei den meisten Binärdateien, was die gängigen Komprimierungsalgorithmen ausnutzen – beispielsweise durch Verwendung der [[Huffman-Kodierung]] |
|
| |
|
| == Kennzeichnung des Zeilenendes ==
| | <noinclude> |
| 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 ([[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 ===
| |
| 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
| |
| * 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 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
| |
|
| |
| 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 <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
| |
| * 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 [[Zeichenkodierung|Zeichencodierungen]] gebräuchlich
| |
| * [[American Standard Code for Information Interchange|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 [[Microsoft Windows|Windows]] im englischen und westeuropäischen Sprachraum verwendeten Codes [[Windows-1252]] bilden
| |
| * [[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 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
| |
|
| |
| [[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
| |
|
| |
| 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 [[Umlaut]]e – 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 [[#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
| |
|
| |
| 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 ==
| |
| 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 – 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 [[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 ===
| |
| 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 – 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
| |
| * 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
| |
| * 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 ===
| |
| [[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 – 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]]
| |
|
| |
| === 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
| |
|
| |
| 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
| |
|
| |
|
| |
| {| class="wikitable" style="padding:1em; vertical-align:top; border:2px;"
| |
| |-
| |
| ! [[Dateiformat]]
| |
| ! [[Dateinamenserweiterung|Dateiendung]]
| |
| |-
| |
| | Textdatei
| |
| | *.txt
| |
| |-
| |
| | [[Microsoft Word#Dateiformat|Microsoft Word]]
| |
| | [[Microsoft Word#Dateiformat|*.doc]]
| |
| |-
| |
| | [[Office Open XML]]
| |
| | [[.docx|*.docx]] und andere
| |
| |-
| |
| | [[Microsoft Access]]
| |
| | [[Microsoft Access|*.acc]]
| |
| |-
| |
| | [[Microsoft PowerPoint]]
| |
| | [[.ppt|*.ppt]] und andere
| |
| |-
| |
| | [[OpenDocument]]
| |
| | [[.odt|*.odt]] und andere
| |
| |-
| |
| | [[Pages (Software)|Apple Pages]]
| |
| | [[.pages|*.pages]]
| |
| |-
| |
| | [[Portable Document Format]]
| |
| | [[.pdf|*.pdf]]
| |
| |-
| |
| | [[Rich Text Format]]
| |
| | [[.rtf|*.rtf]]
| |
| |-
| |
| | [[Microsoft Excel]]
| |
| | [[.xls|*.xls]] und andere
| |
| |-
| |
| | [[Extensible Markup Language]]
| |
| | [[.xml|*.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
| |
| * [[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
| |
|
| |
| Daneben existieren noch viele weitere und auch [[proprietär]]e Formate, deren Aufbau sich nur bei Verfügbarkeit einer entsprechenden [[Spezifikation]] erschließt
| |
|
| |
| == Nutzung ==
| |
| '''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
| |
| * Moderne [[Betriebssystem]]e ordnen über das Dateiformat [[Anwendungssoftware|Anwendungen]] zu, welche die Dateien interpretieren können
| |
|
| |
| '''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
| |
|
| |
| 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 – beispielsweise unter Verwendung der [[Eingabetaste|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 (Gerät)|Drucker]] auf Papier gebracht werden
| |
|
| |
| '''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
| |
|
| |
| 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>
| |
| == Anhang == | | == Anhang == |
| === Siehe auch === | | === Siehe auch === |